> 文章列表 > 智能家居项目(五)测试串口功能

智能家居项目(五)测试串口功能

智能家居项目(五)测试串口功能

目录

一、写一个单独测试串口的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博客