Микроконтроллеры | Еще раз про индикатор WM-1611-62C |
|
---|---|---|
А в примерах, которые с компиляторами идут, ничего похожего не найдется? |
|
|
|
||
picmaniac: Ну дык как, заработало? Пока только в симуляторе. Я написал программку вывода на него цифр от 1 до 0 (1-9,0), правда пока не разбирался с временными параметрами. программатор на работе, контроллеры тоже, железо немного не доделано. Поэтому завтра буду дальше отлаживать. А пока этот кусок такой:
Прошу не ругаться, это проба пера. |
|
|
На виртуальном осциллографе выглядит красиво. В железе-то как, заработало? |
|
|
picmaniac: На виртуальном осциллографе выглядит красиво. В железе-то как, заработало? Забыл HEX дома. И вообще мне надоела такая работа, пишешь дома, компилируешь, симулируешь тоже, а программировать чип и проверять в железе на работе. Сплошной гемморой. Поэтому беру тайм-аут на подготовку на работе полноценного рабочего места, не зависящего от прихоти сисадмина, куда я смогу инсталлировать все проги, нужные мне для работы с м/к. Сегодня уже проапгрейдил процессор с 486SX до первого ПНЯ 75 МГц , так ВИН 95-й просто стал летать! Завтра заменю ХАРД на более быстрый, а то стоит 256 Мб тормоз. Ну и т.д. Место будет передвижное на колесиках. Сделаю покажу фото. Да, пока апгредил пришла здравая мысль о том, что в Basic'e цикл не прокатит из-за временных соотношений, наверное надо делать ассемблерную вставку. |
|
|
Временные соотношения можно посмотреть здесь: http://splav56.narod.ru/PIC/LCD.rar PS: Посмотрел по виртуальному осциллографу, все ОК, имею в виду алгоритм вывода. |
|
|
Пробую переписать программу на mb и почему-то при отладке не проходит цикл записи в EEPROM.
Отладчик зависает на строке Eeprom_Write (a, b), а время выполнения переходит в миллисекунды и постоянно увеличивается, хотя первый цикл записи проходит за 44 микросекунды.
Описана на стр. 133 мануала. В чем тут трабла? |
|
|
Трабла возможно в том, что библиотечная функция Eeprom_Write устанавливает после своей работы (при выходе) бит глобального разрешения прерываний INTCON,GIE (читаем об этом в мануале и хелпе). Посмотрите биты регистра INTCON в процессе симуляции. Следует либо предусмотреть обработчик прерываний - "заглушку" из одной команды INTCON = 0, либо замаскировать все прерывания соответствующими битами. Либо по крайней мере сбрасывать бит GIE после записи в EEPROM. http://www.pic16.nm.ru/notes/eetest.zip - работоспособный пример. Проверено только в PIC Simulator IDE, в железе не пробовал. |
|
|
Спасибо за подсказку, а я не мог понять, чегой-то он сигает на 0х04 и вертится там. Про прерывания не допер. Завтра попробую. Только сейчас сообразил что можно из Хэлпа строки копировать в эл. переводчик, из ПДФа никак не скопировать. Так что переведу эту страницу. |
|
|
Не помогло! Все вроде правильно, а на втором проходе та же хе***! Управление уходит на адрес 0х17 и циклится в пределах 0х15 - 0х22 Такое ощущение что компилируется не так как надо. Кстати по ссылке: http://www.pic16.nm.ru/notes/eetest.zip та же фигня. Распечатка программы в прикрепленном файле. |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |