PICR MCU、又は、PICR DSCで複数のRS232ポートは使用できますか?
PICRMCU、又は、PICRDSCで複数のRS-232接続を使用するには、
複数の#USE RS232プリプロセッサ・ディレクティブをSTREAMオプションを使用して設定する必要があります。
#USE RS232プリプロセッサ指令は、GETC、PUTC、PRINTF、KBHITの各機能に対して、#USE RS232が発生するまで有効です。
#USEのSTREAMオプションを使用せずに、1つのRS-232ポート(A)から読み込み、最初のRS-232ポート(A)と2番目のRS-232ポート(B)の両方にデータをエコーする方法を示します:
次のサンプル・プログラム例は、上記と同じ操作を実行します。
#USE RS232プリプロセッサ・ディレクティブのSTREAMオプションはコードを読みやすくし推奨する方法です:
#USE RS232 (BAUD = 9600, XMIT = PIN_B0, RCV = PIN_B1)
void put_to_a(char c) {
put(c);
}
char get_from_a(void) {
return(getc());
}
#USE RS232 (BAUD = 9600, XMIT = PIN_B2, RCV = PIN_B3)
void put_to_b(char b) {
putc(c);
}
void main(void) {
char c;
put_to_a("Online\n\r");
put_to_b("Online\n\r");
while(TRUE) {
c = get_from_a();
put_to_b(c);
put_to_a(c);
}
}
#USE RS232 (BAUD = 9600, XMIT = PIN_B0, RCV = PIN_B1, STREAM = COM_A)
#USE RS232 (BAUD = 9600, XMIT = PIN_B2, RCV = PIN_B3, STREAM = COM_B)
void main(void) {
char c;
fprintf(COM_A, "Online\n\r");
fprintf(COM_B, "Online\n\r");
while(TRUE) {
c = fgetc(COM_A);
fputc(c, COM_A);
fputc(c, COM_B);
}
}