Мелкие вопросы по МК и ПЛИС.
Имя массива - указатель на его первый элемент. Т.е. он эквивалентен &rx_buffer[0]
- Реклама
Как в XC8 (PIC16F887) отследить окончание записи в EEPROM? Не пойму что использовать:
или
Код: Выделить всё
while (WR);Код: Выделить всё
while (!EEIE);Собственно, как и в любом другом компиляторе - бит окончания записи. Бит найдёте в даташите в разделе "EEPROM".Chettuser писал(а):Как в XC8
Чтобы вызвать прерывание по окончании записи, разве нет?
- Реклама
симулирует ли протеус работу кварца? можно ли в нем проверить работу часов реального времени на атмеге32 с кварцем на TOSC1/TOSC2?
А зачем туда симулировать кварц? подай меандр с генератора...
вопрос относителтно ATmega8a
используется Т2 в режиме FastPWM
задействованы обработчики прерываний по переполнению и совпадению
OCR2 принимает значения от 0 до 250
глюк состоит в том , что через определенный интервал времени дважды срабатывает ПОДРЯД обработчик преывания по переполнению
когда же я задаю другой диапазон для OCR2 от 10 до 250 то все идет как по маслу
в чем природа оного глюка ?
используется Т2 в режиме FastPWM
задействованы обработчики прерываний по переполнению и совпадению
OCR2 принимает значения от 0 до 250
глюк состоит в том , что через определенный интервал времени дважды срабатывает ПОДРЯД обработчик преывания по переполнению
когда же я задаю другой диапазон для OCR2 от 10 до 250 то все идет как по маслу
в чем природа оного глюка ?
Tell Me The Truth
В том, что на время обработки прерывания таймер у Вас не останавливается, а продолжает считать. код инициализации таймера и обработчиков прерываний выложите.
Fucking static initialization order fiasco
Tell Me The Truth
Фигасе, Вы код засунули в прерывание! Столько условий + вызов функции + вход/выход из обработчика прерывания. Не исключаю возможности, что за время выполнения данного кода Таймер успевает прогнать по кругу и установить флаг на выполнение прерывания повторно. Оставьте в прерывании только самое важное, а код выносите в основную функцию. Ну, и попробуйте как-то его оптимизировать.
Fucking static initialization order fiasco
Pink-Pank писал(а):! Столько условий + вызов функции
Код: Выделить всё
TurnOff_Nixie();это исключеноPink-Pank писал(а):Не исключаю возможности, что за время выполнения данного кода Таймер успевает прогнать по кругу и установить флаг на выполнение прерывания
Tell Me The Truth
функции TurnOff_Nixie(); нехватает дайте. без нее время выполнения обработчика переполнения таймера:

ОЙ ОЙ - это при условии работы на частоте 16МГц. у вас там какая частота?
ОЙ ОЙ - это при условии работы на частоте 16МГц. у вас там какая частота?
- Вложения
-
- test.JPG
- (67.8 КБ) 482 скачивания
Ставим плюсы: )
Код: Выделить всё
#define TurnOff_Nixie() {PORTB=0x0A, PORTD&= ~(1<<4 | 1<<3);}Tell Me The Truth
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Здравствуйте!
А как вы подключаете дисплеи к МК? Откуда находится информация о контроллере и командах? К примеру, если мне нужно подрубить такой дисплей с сенсором к МК, то под какой хвост куда смотреть нужно?
А как вы подключаете дисплеи к МК? Откуда находится информация о контроллере и командах? К примеру, если мне нужно подрубить такой дисплей с сенсором к МК, то под какой хвост куда смотреть нужно?
- Сообщения: 2316
- Зарегистрирован: Вс июн 26, 2011 20:03:21
Прошу прощения... Совсем потерялся, аж ссылку забыл написать
.
http://www.sotmarket.ru/product/display ... _orig.html
С 1602 проблем нет, с ними работал, а вот с графикой иметь дел не приходилось ещё....
http://www.sotmarket.ru/product/display ... _orig.html
С 1602 проблем нет, с ними работал, а вот с графикой иметь дел не приходилось ещё....


