А то, что почти в любом (не только для AVR) Hardware Design Considerations пишут:
Always place the resonator as close to the AVR as possible and shield the resonator by surrounding it with a ground plane. В вольном переводе: Всегда располагайте резонатор как можно ближе к контроллеру и экранируйте земляным полигоном.
Memory Summary:
Program space used 215h ( 533) of 800h words ( 26.0%)
Data space used 2Ch ( 44) of E0h bytes ( 19.6%)
EEPROM space used 0h ( 0) of 80h bytes ( 0.0%)
Configuration bits used 1h ( 1) of 1h word (100.0%)
ID Location space used 0h ( 0) of 4h bytes ( 0.0%)
однако получаемый hex имеет размер 2,97 КБ (3 046 байт), что для PIC16F628A почти половина.
Сильно не пинайте, если я (не)правильно понял:
1. bin файл содержит только всю самую необходимую информацию байт за байтом (типа "фулл-флеш")
2. исходя из 1. ориентироваться на размер hex применительно к МК не имеет смысла, следует ориентироваться на информацию представляемую компилятором (по коду в предыдущем моём посте).
Так ли это?
Всем привет ! Помогите разобраться с таймерами, уж сам облазил даташиты и никак не найду выход из ситуации, ситуация такая: необходимо принимать команды от пульта по RC5 и одновременно управлять тремя каналами ШИМ для светодиодов, пульт работает нормально (первый таймер работает как счётчик на 31.250 кГц), а когда начинаю инициализацию ШИМ'а - то первый таймер обламывается и работает только ШИМ, неужели нет возможности запустить 3 канала и ограничиться одним таймером на Tiny2313 ?
Chettuser писал(а):Сильно не пинайте, если я (не)правильно понял:
1. bin файл содержит только всю самую необходимую информацию байт за байтом (типа "фулл-флеш")
2. исходя из 1. ориентироваться на размер hex применительно к МК не имеет смысла, следует ориентироваться на информацию представляемую компилятором (по коду в предыдущем моём посте).
Так ли это?
1. bin - это, собственно то, что записывается в программную память контроллера.
2. HEX - текстовое представление прошивки (именно текстовое!), с дополнительной информацией.
Верить надо компилятору. Это так.
Wereww писал(а):когда начинаю инициализацию ШИМ'а - то первый таймер обламывается и работает только ШИМ, неужели нет возможности запустить 3 канала и ограничиться одним таймером на Tiny2313 ?
Одним таймером 3 канала ШИМ не получится. В каждом из таймеров всего 2 регистра сравнения. У вас включено 2 канала ШИМ - Phase Correct PWM на Т1. А на Т0 поправьте: WGM10 замените на WGM00, а CS10 на CS00. Получится 3-й канал.
В принципе, несмотря на различия в наименовании этих битов, они корректно поставят режим и в Т0. Если там не работает ШИМ, то, скорее, дело в чем-то другом. ...Недостаток исходной информации.
Переведите:
то первый таймер обламывается и работает только ШИМ
"первый таймер" - это T1 или Т0? Что значит "обламывается"? И на каком таймере "работает только ШИМ" ?
Wereww писал(а):когда начинаю инициализацию ШИМ'а - то первый таймер обламывается и работает только ШИМ, неужели нет возможности запустить 3 канала и ограничиться одним таймером на Tiny2313 ?
Одним таймером 3 канала ШИМ не получится. В каждом из таймеров всего 2 регистра сравнения. У вас включено 2 канала ШИМ - Phase Correct PWM на Т1. А на Т0 поправьте: WGM10 замените на WGM00, а CS10 на CS00. Получится 3-й канал.
В принципе, несмотря на различия в наименовании этих битов, они корректно поставят режим и в Т0. Если там не работает ШИМ, то, скорее, дело в чем-то другом. ...Недостаток исходной информации.
Переведите:
то первый таймер обламывается и работает только ШИМ
"первый таймер" - это T1 или Т0? Что значит "обламывается"? И на каком таймере "работает только ШИМ" ?
Для ясности выложу исходный код, думаю вам будет легче разобраться.
С протоколом RC5 не работал.
В вашей программе запускается, при необходимости, таймер Т0, с тактированием 31250 Гц. Если ..."обламывается" Т1, то, наверное, нужно его тактирование синхронизировать с частотой RC5. У Т1, при CS10 = 1, входная частота после инициализации 8000000 Гц и в программе не изменяется.
С протоколом RC5 не работал.
В вашей программе запускается, при необходимости, таймер Т0, с тактированием 31250 Гц. Если ..."обламывается" Т1, то, наверное, нужно его тактирование синхронизировать с частотой RC5. У Т1, при CS10 = 1, входная частота после инициализации 8000000 Гц и в программе не изменяется.
Думаю это не очень поможет, ведь таймер переодически останавливается (
Несколько вопросов по этой ссылке http://radiokot.ru/start/mcu_fpga/avr/03/
1) там какой диод стоит, 1n4148 сойдёт ?
2) основной вопрос, а можно питать программатор и контролёр прям с LPT или USB порта, просто зачем использовать доп. источники питания, если есть комп ?
Заранее спасибо.
В ДШ, например, на мегу8535 откопал такие прекрасные замечания про встроенный усилитель на АЦП:
2 Differential Input Channels with Optional Gain of 10x and 200x*
* Note: 1. The differential input channel are not tested for devices in PDIP and PLCC Package.
This feature is only guaranteed to work for devices in TQFP and QFN/MLF Packages.
Значит ли это, что использовать усиление я могу только в TQFP-корпусах, или в DIP тоже можно? И с чем вообще эта поправочка связана?
Zwanzig писал(а):Значит ли это, что использовать усиление я могу только в TQFP-корпусах, или в DIP тоже можно? И с чем вообще эта поправочка связана?
Ну, если перевести дословно, то работа в диф. режиме не тестировалась в корпусах PDIP и PLCC, и гарантируется только для TQFP и QFN/MLF. Про то, что не будет работать — ни слова. Связано, скорее всего, с разной топологией кристаллов.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Ещё вопрос: необходимо мигать светодиодом при активности интерфейса RS232. На плате стоит MAX232, у неё два приёмопередатчика, вот я думаю: может, задействовать их для подключения светодиода. При этом он должен быть только один, и на TX, и на RX. Какая схема примерно?