Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа Тиньки. Вопрос.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
$ilent
Вот такая штука творилась не давно:

Попросил меня товарищь таймер ему собрать на обогрев стёкол машинных. Купил я Тини12 в дипе, написал, пытаюсь зашить - шьётся через раз (от внутреннего РС), перевожу на кварц - стало нормально, программа работает. Но потом, не помню по какой причине упала микросхемка, оставил её до лучших времён, и купил новую, но уже в СОИКе. История повторяется так же, но программа не работает вообще. Потом решил просто вывести в порт 0хФФ - нифига, не реагирует ни на что, ни на прерывания по переполнению таймера, ни на ИНТ0... Чего делать не пойму...

Может кто сталкивался похожим...
djmixi(Димка)
Работал с ТИни 26 все ок было.

1. А Вы уверены что все ОК с записью программы в MC сделайте верификацию после записи...
2. Фуз биты настроены верно (Ресет, частотные)?
Dimmy
Очевидно Вы напортачили с фузами CKSEl - такое бывает. Учтите, что значение 0-это установлен и наоборот(это по доке). А если пользуетесь PONYProg - то 1- установлен, 0-сброшен. Попробуйте все варианты Clock: подцепите RC, потом кварц, внешний источник... От какого-нибудь источника да зашьется. Худший вариант - SPIEN сброшен (в PONYPROG=0). Тогда зашьется только параллельно.
$ilent
Шилось всё ОК, проверка показывала ОК, Фъюзы только КСЕЛ менял, резеты и СПЕН не трогал вообще.

Програматор Пони - галка - сброшен, пусто установлен. Если бы напортачил с КСЕЛами он бы даже шиться не стал...
$ilent
Сейчас заметил следующее:
Код
//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
Протеус ,не понял формат файла НЕХ,скорее всего в него включено значение ячейки(ек) ЕЕПРОМ,а ему нужен только для флеш,откройте етот файл допустим понькой и сохраните по отдельности флеш и еепром.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.