树莓派串口编程
简单做个笔记记录一下串口编程的方法。
- 树莓派需要释放蓝牙所占用的的串口。
- 编辑/boot/config.txt 或者通过raspi-config启用串口(serial) ,编辑文件的话直接加入enable_uart=1 然后重启。
- 添加 dtoverlay = pi3-miniuart-bt 或者:dtoverlay = pi3-disable-bt
基本思路
操作示例代码
- C 语言
#include <stdio.h> #include <string.h> #include <errno.h> #include <wiringPi.h> #include <wiringSerial.h> int main () { int serial_port ; char dat; if ((serial_port = serialOpen ("/dev/ttyS0", 9600)) < 0) /* open serial port */ { fprintf (stderr, "Unable to open serial device: %s\n", strerror (errno)) ; return 1 ; } if (wiringPiSetup () == -1) /* initializes wiringPi setup */ { fprintf (stdout, "Unable to start wiringPi: %s\n", strerror (errno)) ; return 1 ; } while(1){ if(serialDataAvail (serial_port) ) { dat = serialGetchar (serial_port); /* receive character serially*/ printf ("%c", dat) ; fflush (stdout) ; serialPutchar(serial_port, dat); /* transmit character serially on port */ } } }
编译测试
gcc -o serialtest -lwiringPi serialtest.c ./serialtest
结果:
- C 语言