| Микроконтроллеры | Ликбез по программированию PIC | |
|---|---|---|
| Zandy: всю динамическую индикацию - в прерываниях делать |  | |
| У меня вопрос по поводу макросов. |  | |
| Zandy: макрос, будет ли он восприниматься, как единственная команда? |  | |
| Ну вот, наконец сваял. Пришлось малость попотеть. Привык уже к зацикливанию нескольких команд для организации задержек, а также к локальным зацикливаниям при ветвлении сценариев. А тут вся программа имеет единственный цикл через прерывания. При работе в прерываниях нельзя же локальные циклы создавать, если только совсем быстрые, без задержек. А у нас то весь смысл программы в задержках.  |  | |
| Щас погляжу... |  | |
| picmaniac: Направление дальнейшего развития можете выбирать сами. |  | |
| А у меня есть замечание: инициализацию начального значения таймера лучше производить в начале прерывания сразу после сохранинения регистров, т.к. время выполнения процедуры прерывания в большинстве случаев не определено и не постоянно. По этим причинам загрузка счёчика перед завершением прерывания может привести к нестабильности временных интервалов при длительной обработке прерывания. |  | |
| SAK: По этим причинам загрузка счёчика перед завершением прерывания может привести к нестабильности временных интервалов при длительной обработке прерывания. |  | |
| Ещё одно замечание: в процедуре инициализации можно не задавать начальное значение счётчика таймера. Вместо этого можно в команде загрузки INTCON установить флаг прерывания от таймера, сразу после этой команды произойдёт прерывание и установит  счётчик в нужное значение. Т.е. дать команду: |  | |
| Ясно, спасибо. |  | |
| Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь | © 2003—2025 | |||