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;
}