目录
一、写一个单独测试串口的demo
二、直接运行上一篇智能家居的代码
一、写一个单独测试串口的demo
1、TTL串口与树莓派的连接方式
(1)TTL的RXD和TXD针脚连接到树莓的TXD和RXD上(T–>R R–>T),交叉连!!!
(2)树莓派的GND与TTL串口的GND相连
2、初次使用树莓派串口编程,需要配置
(1)修改cmdline.text文件
sudo vi /boot/cmdline.txt
(2)删除【】之间的部分:【console=ttyAMA0,115200】这部分删除
dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
(3)重启树莓派
sudo reboot
3、编写测试串口的demo
#include <wiringPi.h>
#include <wiringSerial.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void serialSetup()
{
if(wiringPiSetup() == -1){
printf("open error\n");
exit(-1);
}
}
int main()
{
char buf[128] = {'\0'};
int serialDataCount = 0;
serialSetup();
int fd;
if((fd = serialOpen("/dev/ttyAMA0",9600)) == 1) //初始化串口,波特率9600
{
exit(-1);
}
while(1){
serialDataCount = read(fd,buf,sizeof(buf));
if(serialDataCount == 0){
printf("nodatas\n");
}
else{
printf("get datas : %s \n",buf);
memset(buf,'\0',sizeof(buf));
serialDataCount = 0;
}
}
}
运行上述代码:
(1)gcc demo1.c -lwiringPi
(2)./a.out
二、直接运行上一篇智能家居的代码
./test
上一篇:智能家居项目(四)添加Socket服务器功能_Love小羽的博客-CSDN博客