步驟1
先下載 RS232 for Windows Librery → http://www.teuniz.net/RS-232/
將 RS-232.tar.gz 解壓縮,只需要 rs232.c 和 rs232.h 即可。
步驟2
建立一個 C 語言的專案,來撰寫程式,
使用 Code::Blocks http://www.codeblocks.org/
步驟3
UART TX 接收程式
/************************************************** file: demo_rx.c purpose: simple demo that receives characters from the serial port and print them on the screen, exit the program by pressing Ctrl-C compile with the command: gcc demo_rx.c rs232.c -Wall -Wextra -o2 -o test_rx **************************************************/ #include #include #ifdef _WIN32 #include #else #include #endif #include "rs232.h" int main() { int i, n, cport_nr=3, /* /dev/ttyS0 (COM1 on windows) */ bdrate=9600; /* 9600 baud */ unsigned char buf[4096]; char mode[]={'8','N','1',0}; if(RS232_OpenComport(cport_nr, bdrate, mode)) { printf("Can not open comport\n"); return(0); } while(1) { n = RS232_PollComport(cport_nr, buf, 4095); if(n > 0) { buf[n] = 0; /* always put a "null" at the end of a string! */ for(i=0; i < n; i++) { if(buf[i] < 32) /* replace unreadable control-codes by dots */ { buf[i] = '.'; } } printf("received %i bytes: %s\n", n, (char *)buf); } #ifdef _WIN32 Sleep(100); #else usleep(100000); /* sleep for 100 milliSeconds */ #endif } return(0); }
UART RX 接收程式
我試過可以用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
/************************************************** file: demo_rx.c purpose: simple demo that receives characters from the serial port and print them on the screen, exit the program by pressing Ctrl-C compile with the command: gcc demo_rx.c rs232.c -Wall -Wextra -o2 -o test_rx **************************************************/ #include #include #ifdef _WIN32 #include #else #include #endif #include "rs232.h" int main() { int i, n, cport_nr=3, /* /dev/ttyS0 (COM1 on windows) */ bdrate=9600; /* 9600 baud */ unsigned char buf[4096]; char mode[]={'8','N','1',0}; if(RS232_OpenComport(cport_nr, bdrate, mode)) { printf("Can not open comport\n"); return(0); } while(1) { n = RS232_PollComport(cport_nr, buf, 4095); if(n > 0) { buf[n] = 0; /* always put a "null" at the end of a string! */ for(i=0; i < n; i++) { if(buf[i] < 32) /* replace unreadable control-codes by dots */ { buf[i] = '.'; } } printf("received %i bytes: %s\n", n, (char *)buf); } #ifdef _WIN32 Sleep(100); #else usleep(100000); /* sleep for 100 milliSeconds */ #endif } return(0); } |
https://github.com/Hom-Wang/C-Language/tree/master/serial
https://abcd40404.github.io/2017/06/09/rs232-implement/
文章標籤
全站熱搜