Микроконтроллеры | Не получается производить передачу по USART |
|
---|---|---|
Только начал заниматься данным вопросом. Код пишу CodeVision и При передаче по USART циклом : код подпрограммы передачи: Два раза все проходит нормально, в регистр UDR0 записывается значение sym и вроде все проходит нормально, однако при третьем прооде программа намертво встает при провеке условия цикла, причем не пропускает его, как если бы оно не выполнялось, а просто намертво на нем встает. Инициализация проводится кодом сгенерированным Codevision, по сути вот он: // USART0 initialization |
|
|
Misha980: программа намертво встает при провеке условия цикла, причем не пропускает его, как если бы оно не выполнялось, а просто намертво на нем встает. Misha980: while(!(UCSR0A & (1UDRE))); |
|
|
Misha980: while(!(UCSR0A & (1UDRE))); Если вот это: |
|
|
while(!(UCSR0A & (1UDRE))); вот так конечно же, не правильный код привел, извините. |
|
|
без точки с запятой цикл вообще ни разу не проходит. А сама функция была взята из даташита контроллера. |
|
|
Точка с запятой там нужна. Этот цикл - ожидание освобождения ресурсов (по идее). Что там точно должно быть - сказать затрудняюсь, т.к. с АВР не работаю. Misha980: while(!(UCSR0A & (1UDRE))); Misha980: UDR0 = sym; После этого программа продолжает выполняться. Если передача байта завершается раньше, чем поступает следующий, то на цикле while зависания не будет. Если же байт не успел уйти, то пока он передаётся и будет контроллер висеть на while. |
|
|
rfc: Точка с запятой там нужна. Этот цикл - ожидание освобождения ресурсов (по идее). |
|
|
Арс: Так что всё же склоняюсь к тому что точкка с запятой там лишняя. Ну или скобкы лишние |
|
|
Используйте для отладки и моделирования AVR PIC 8051 ARM Motorola супер программу PROTEUS - там реальный терминал и можно подключать модель вашего устройства к вашим РЕАЛЬНЫМ портам COM и USB. |
|
|
Misha980: кодом сгенерированным Codevision Посмотрите там есть галочки "задействовать прерывания" и "создать буферы" приема и передачи. Это очень удобно и нет пустых ожиданий. |
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |