PIC16F877 связать с ПК через RS-232

Nov 15, 2005 1 Replies

Приветствую, всезнающий All! Задолбался искать ошибку... Помогите реализовать сабж... Суть программы сводится к тому, чтобы путем несложного протокола заливать данные во ФЛЭШ-память данных контроллера и считывать их оттуда.



Я делаю так: Передача данных: ;===================================================================== ; Процедура передачи байта через RS-232 ;===================================================================== RS232TX movwf TXREG ; Загружаем W в регистр передачи bsf STATUS,RP0 ; Банк 1 bsf TXSTA,TXEN ; Разрешаем передачу bcf STATUS,RP0 ; Банк 0 return ;


Прием данных:



;===================================================================== ; Подпрограмма обрабатывает прием данных по RS-232 ;===================================================================== movlw 090h ; USART включен, movwf RCSTA ; прием разрешен



btfss PIR1,RCIF ; Если ничего не было принято по goto BEGIN ; RS-232, то замыкаем основной цикл



movf RCREG,0 ; Резервная копия регистра- movwf RXBUF ; приемника USART



movlw 0AAh ; Если первый байт полученной xorwf RXBUF,0 ; последовательности равен 0AAh, btfsc STATUS,Z ; то расцениваем его как комманду goto READBYTE ; чтения FLASH-памяти



movlw 0BBh ; Если первый байт полученной xorwf RXBUF,0 ; последовательности равен 0BBh, btfsc STATUS,Z ; то расцениваем его как комманду goto WRITEBYTE ; записи FLASH-памяти



clrw ; В противном случае выдаем 00h - call RS232TX ; код ошибки синтаксиса



END_SERIAL bcf RCSTA,CREN ; Отключаем USART для обнуления. movlw 090h ; USART включен, movwf RCSTA ; прием разрешен



goto BEGIN ; Замыкаем основной цикл ;===================================================



Чего я делаю не так? Растолкуйте, плиз! А лучше куском кода киньте....



Заранее всем спасибо!



Владимир Соломийчук пишет:

заливать

Дык - сколько примеров в аппнотах на

formatting link
- типа бутлоадеров и пр. Посмотри там

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required