Примерно с этим же вопросом мучаюсь.
Самописная программа прекрасно передает команды на PIC, а вот обратно данные не идут Хотя в Proteus_e все идет на ура. Ищу ошибку...
По вашей программе. Если код приведен полностью, то она и не должна работать. Нужны настройки USART, что то типа такого:
Code
'-------------------------Настройка USART----------------------------------
RCSTA = %10010000 ; Регистр приемника USART.
;7 бит=1 (SPEN) разрешение работы последовательного порта
; 4 бит=1 (CREN) Разрешен асинхронный прием
TXSTA = %01100101 ; 2 бит=1 - BRGH -высокая скорость, 4 бит=0 (SYNC) - асинхронный режм
; 5 бит=1 (TXEN) - передача разрешена
SPBRG = 25 ; 25 скорость при 9600 бодах
; 6 бит (TX9) - разрешение передачи 9 бит
; 0 бит (TX9D) - установка значения девятого бита
,----------------------------------------------------------------------------------------------------------------
И, похоже, в Proteus_e, при моделировании, существуют упрощение, которое обходит эти настройки.
По этому поводу и у меня вопрос к знатокам: При передаче 8 бит, с одним стоповым битом, нужно ли ставить разрешение на передачу 9 бит и устанавливать этот бит в 1? При моделировании проходит и тот и другой вариант. А вот в реальном железе пока не удается проверить.