RS232C:シリアル通信
信号 | 意味 | 25ピン | 9ピン |
---|---|---|---|
TXD | 送信信号 | 2 | 3 |
RXD | 受信信号 | 3 | 2 |
RTS | 送信要求 | 4 | 7 |
CTS | Clear To send | 5 | 8 |
DSR | Data Set Ready | 6 | 6 |
GND | 基準電位 | 7 | 5 |
DCD | Data Carrier Detect | 8 | 1 |
DTR | Data Terminal Ready | 20 | 4 |
R I | Ring Information | 22 | 9 |
#use RS232(BAUD=9600,xmit=PIN_B2,rcv=PIN_B1)PIC用のCコンパイラでは、RS232Cを標準装置として扱いします。したがって、データを送信するには、printf() やputc()、受信するには、scanf() や getc() が利用できます。
#include <16f648a.h> #fuses HS,NOWDT,NOLVP,NOMCLR //内部クロック、WDT,LVPなし #use delay(CLOCK=20000000) #use RS232(BAUD=9600,xmit=PIN_B2,rcv=PIN_B1)//use delayの後に配置する main(){ char cmnd; int len; int i; //set_tris_b(0b11110010); while(1){ delay_ms(300); output_low(pin_a2); delay_ms(300); output_high(pin_a2); printf("\rcmd:"); len=0; do{ cmnd=getc(); putc(cmnd); len ++; }while (cmnd != '\r' && cmnd != 'n'); printf("\nlength=%d\n",len); } return 0; }