ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
А где напрямую? Напряжение на коллекторе транзистора будет в диапазоне 0.3...5V.
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
все , разобрался. Пардон, тупанул по-черному 
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Никто не сталкивался с такой проблемой: прошиваю программу в Codevision после прошивки компилятор говорит, что все нормально ошибок нет, сравнение памяти мк с программой разницы не дает. Но! Стоит только выключить комп и вынуть мк из программатора-часть прошивки теряется -вместо данных там FFFF, будто чистую память и не прошивали вовсе. Количество потерянной памяти разное бывает.
Со схемой и программой ничего не делалось, изменил лишь значаение числовой переменной.
Со схемой и программой ничего не делалось, изменил лишь значаение числовой переменной.
-
MONAH_88
- Первый раз сказал Мяу!
- Сообщения: 28
- Зарегистрирован: Пн авг 09, 2010 15:11:11
- Откуда: г.Красноярск
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Cобрал програматор на драйвере 74HC244N пробую залить прошивку в ATtiny2313-20PU и по не известной причине нифига не получается. В чём проблема? Программы для прошивки пробывал IC-Prog,PonyProg и Хамелион. Схема по которой собирал програматор.Ошибок в пайке нет!
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
MONAH_88, опишите проблему конкретнее.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
это конечно плохо, но телепаты в отпуске. опишите симптомы.MONAH_88 писал(а):нифига не получается
Ставим плюсы: )
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Разобрался с траблой. Собрал простой "5 проводков" и прошил МК все заработало. видимо буфер неисправен на моем STK200/+300. попробую заменить на новый. Что интересно, когда я подключил новый программатор и считал прошивку-она оказалась правильная, но мк не работал, а после перепрошивки на новом прог-ре он уже заработал, хотя сама прошивка 1 в 1 со старой.
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
При настройке пина RESET как выхода, он попрежнему может сбрасывать МК при подаче на него 0, например через светодиод?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
NebelWefer писал(а):При настройке пина RESET как выхода, он попрежнему может сбрасывать МК при подаче на него 0, например через светодиод?
Тогда как вы себе представляете работу этого пина как I/O, если при каждом "0" МК будет сбрасываться???
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
поставил RESET как выход, подцепил на него светодиод. при включении МК уходит в постоянный резет, если оставляю висеть reset-все норм
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Вы фьюзом его поставили как обычный порт или просто в тексте проги сконфиговали как выход? 
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
просто в проге
значит надо установить RSTDSBL в ноль...
- AlexFisher
- Мучитель микросхем
- Сообщения: 493
- Зарегистрирован: Вт апр 21, 2009 13:31:27
- Откуда: Санкт-Петербург
- Контактная информация:
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Не забудте, что после этого контроллер можно будет только параллельным программатором шить. По скольку этот режим не гарантирован для attiny2313, то только высоковольтным программированием! Так что RESET лучше не трогать 
[i]Да здравствует всё то, благодаря чему мы не смотря ни на что![/i]
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Мне надо дешифрировать независимо состояние РОН на семисегментный индикатор. Какие средства для этого есть?
Не умеешь - не берись, но не взявшись не научишься...
-
NebelWefer
- Грызет канифоль
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
AlexFisher писал(а): Так что RESET лучше не трогать
Да спасибо, я уже переделал прошивку, благо свободные ноги есть)
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Stalker46 писал(а):Мне надо дешифрировать независимо состояние РОН на семисегментный индикатор.
Чаго??? А по-кошачьи?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
У меня задача.
В обработчике прерывания (не важно какого) состояние одного РОН - должно инкрементироваться 1 раз.
Затем, в этом же обработчике надо интерпретировать содержимое этого же РОНа на семисегментный индикатор.
Вот только как это сделать, можно, конечно же использовать Flash для хранения констант и, использую команду LPM, загружать данные в индикатор... но, хочу другим способом.
В обработчике прерывания (не важно какого) состояние одного РОН - должно инкрементироваться 1 раз.
Затем, в этом же обработчике надо интерпретировать содержимое этого же РОНа на семисегментный индикатор.
Вот только как это сделать, можно, конечно же использовать Flash для хранения констант и, использую команду LPM, загружать данные в индикатор... но, хочу другим способом.
Не умеешь - не берись, но не взявшись не научишься...
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Stalker46 писал(а): (не важно какого)
Хватит темнить. Индикаторов сколько будет, три? (чтобы отображать до "255")? Тогда запускаем процедуру BCD и получаем три десятичных разряда. А дальше в соответствии с разрядом (цифрой) подгружаем нужный код семисегментника. Или я что-то недопонял?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
нет, разряд всего лишь 1.
Цифр будет всего 10 - 0-9.
Как это все в массив записать?
Я вот недопонял назначение директивы .db
Цифр будет всего 10 - 0-9.
Как это все в массив записать?
Я вот недопонял назначение директивы .db
Не умеешь - не берись, но не взявшись не научишься...
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
Ну тогда надо где-то выделить 10 байт под 10 кодов для семисегментника для 10 цифр. В обработке в соответствии с содержимым регистра (1) подгружаем адрес ячейки памяти (флэш/еепром))(2), где находятся коды для семисегментника (3).
Или по-русски, ты говоришь компилятору что дальше идут данные (т.е. можно писать всякую лабуду, и компилятор не будет ругаться).
Код: Выделить всё
DB - Define constant byte(s) in program memory and EEPROM
The DB directive reserves memory resources in the program memory or the EEPROM memory. In order to be able to refer to the reserved locations, the DB directive should be preceded by a label. The DB directive takes a list of expressions, and must contain at least one expression. The DB directive must be placed in a Code Segment or an EEPROM Segment.
The expression list is a sequence of expressions, delimited by commas. Each expression must evaluate to a number between -128 and 255. If the expression evaluates to a negative number, the 8 bits twos complement of the number will be placed in the program memory or EEPROM memory location.
If the DB directive is given in a Code Segment and the expressionlist contains more than one expression, the expressions are packed so that two bytes are placed in each program memory word. If the expressionlist contains an odd number of expressions, the last expression will be placed in a program memory word of its own, even if the next line in the assemby code contains a DB directive. The unused half of the program word is set to zero. A warning is given, in order to notify the user that an extra zero byte is added to the .DB statement
Syntax:
LABEL: .DB expressionlist
Example:
.CSEG
consts: .DB 0, 255, 0b01010101, -128, 0xaa
.ESEG
const2: .DB 1,2,3Или по-русски, ты говоришь компилятору что дальше идут данные (т.е. можно писать всякую лабуду, и компилятор не будет ругаться).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]