В процессе отладки любой программы на PIC, всегда полезно посмотреть что же получилось в результате каких-либо действий. Если в устройстве есть LCD, то можно конечно отладочную информацию выводить на него. Однако если большинство выводов портов занято, подключить LCD проблематично. Но если есть хоть ОДИН свободный вывод порта, то можно передать результат каких-либо вычислений через COM-порт в компьютер. При этом можно обойтись без преобразования уровней напряжения для RS-232. Для этого желательно, чтобы PIC запитывался от 5 вольт.

;===============================================================================================
; передача символа по протоколу RS232, скорость 9600, data = 8, nonparity,
; 1 stopbit, 4 Мгц, символ в Char_RS232
;===============================================================================================
#define _TxD PORTB, 5
PutChar_RS232
movlw .8
movwf tmpdelay01
bcf _TxD ; стартовый бит
call delay_95mks
call delay_8mks
m_PutChar_RS232_01 ; данные
rrf Char_RS232, f
btfss STATUS,C
bcf _TxD
btfsc STATUS,C
bsf _TxD
call delay_95mks
decfsz tmpdelay01,f
goto m_PutChar_RS232_01
bsf _TxD ; бит четности
call delay_95mks
call delay_8mks
bsf _TxD ; стоповый бит
call delay_95mks
call delay_8mks
rrf Char_RS232, f
return
delay_95mks
movlw .22
movwf tmpdelay01
nop
decfsz tmpdelay01, f
goto $-2
nop
nop
return
delay_8mks
nop
nop
nop
nop
return
;=========================================
Для создания программы работы с COM-портом предлагается класс для Win32 на Builder C++ (файл mserial.h). В классе MSerial используются только API функции, так что его переделать под любой компилятор — дело пяти минут. Исходный текст примера программы, читающей 2 байта из COM-порта размещён в файле prog.cpp.
Автор проекта: Юрий Горский (E-mail: yuragv@mbox.com.ua)
Микроэлектронные проекты ||| Главная страница ||| Содержание ||| Без кадра
E-mail:
info@telesys.ru