Полная версия этой страницы:
Работа Тиньки. Вопрос.
$ilent
Feb 14 2007, 09:44
Вот такая штука творилась не давно:
Попросил меня товарищь таймер ему собрать на обогрев стёкол машинных. Купил я Тини12 в дипе, написал, пытаюсь зашить - шьётся через раз (от внутреннего РС), перевожу на кварц - стало нормально, программа работает. Но потом, не помню по какой причине упала микросхемка, оставил её до лучших времён, и купил новую, но уже в СОИКе. История повторяется так же, но программа не работает вообще. Потом решил просто вывести в порт 0хФФ - нифига, не реагирует ни на что, ни на прерывания по переполнению таймера, ни на ИНТ0... Чего делать не пойму...
Может кто сталкивался похожим...
djmixi(Димка)
Feb 14 2007, 10:25
Работал с ТИни 26 все ок было.
1. А Вы уверены что все ОК с записью программы в MC сделайте верификацию после записи...
2. Фуз биты настроены верно (Ресет, частотные)?
Очевидно Вы напортачили с фузами CKSEl - такое бывает. Учтите, что значение 0-это установлен и наоборот(это по доке). А если пользуетесь PONYProg - то 1- установлен, 0-сброшен. Попробуйте все варианты Clock: подцепите RC, потом кварц, внешний источник... От какого-нибудь источника да зашьется. Худший вариант - SPIEN сброшен (в PONYPROG=0). Тогда зашьется только параллельно.
$ilent
Feb 14 2007, 10:48
Шилось всё ОК, проверка показывала ОК, Фъюзы только КСЕЛ менял, резеты и СПЕН не трогал вообще.
Програматор Пони - галка - сброшен, пусто установлен. Если бы напортачил с КСЕЛами он бы даже шиться не стал...
$ilent
Feb 14 2007, 17:04
Сейчас заметил следующее:
Код
//ICC-TINYAVR application builder : 14.02.2007 16:50:16
// Target: TINY12
//ICC needs these helper files...
#include <iotiny12.h>
#include <macros.h>
//call this routine to initialise all peripherals
void init_devices(void)
{
CLI(); //disable all interrupts
//Port init
PORTB = 0x1F; //portb bits
DDRB = 0x3F; //portb direction
MCUCR = 0x00;
GIMSK = 0x00;
TIMSK = 0x00;
EECR = 0x00;
SEI();//re-enable interrupts
}
//Application start
void main(void)
{
init_devices(); //initialise peripherals
while(1);//loop forever
}
при симуляции в протеусе, выдаётся ошибка:Код
SIMULATION LOG
==============
Design: UNTITLED.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author: <NONE>
Created: 14/02/07
Modified: 14/02/07
Compiling source files...
Build completed OK.
Compiling netlist...
Linking netlist...
Partition analysis...
Simulating partition 1
Animation started sucessfully...
PROSPICE Release 6.5 SP2 (C) Labcenter Electronics 1993-2002.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.
Reading netlist...
Reading SPICE models...
Loading library 'ANALOGD.SML'
Loading library 'APEX.SML'
Loading library 'BURRBROWN.SML'
Loading library 'ELANTEC.SML'
Loading library 'FAIRCHLD.SML'
Loading library 'INTERSIL.SML'
Loading library 'LINTEC.SML'
Loading library 'NATOA.SML'
Loading library 'SUPERTEX.SML'
Loading library 'TECCOR.SML'
Loading library 'TEX101.SML'
Loading library 'TEX301.SML'
Loading library 'TEX3_1.SML'
Loading library 'TEX401.SML'
Loading library 'TEX5_1.SML'
Loading library 'VALVES.SML'
Loading library 'ZETEX.SML'
Building circuit...
Instantiating SPICE models...
[U1] AVR model release 6.4 SP0.
[U1] Loaded 64 bytes of persistent EEPROM data.
[U1] Loading HEX file 'D:\temp\1.hex'.
ERROR: [U1] Error reading HEX file 'D:\temp\1.hex' at line 5: Checksum error: expecting 0xFF but 0x1F in file.
.
[DSIM] BOOT Error.
Real Time Simulation failed to start
Real Time Simulation FAILED.
bodja74
Feb 14 2007, 21:37
Протеус ,не понял формат файла НЕХ,скорее всего в него включено значение ячейки(ек) ЕЕПРОМ,а ему нужен только для флеш,откройте етот файл допустим понькой и сохраните по отдельности флеш и еепром.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.