树莓派与串口通信

树莓派与串口通信

第一步进行相关参数配置

/*修改cmdline.txt文件*/
1.cd /boot/    //进入该目录下打开cmdline.txt文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113224810302.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JveWJz,size_16,color_FFFFFF,t_70#pic_center)
2.sudo vi cmdline.txt
删除[]之间的部分
删掉里面的 console=serial1,115200
dwc_otg.lpm_enable=0  console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

3.修改inittab 文件
cd /etc/
sudo vi inittab
注释最后一行内容,在前面加上;
我这里使用的是3B的树莓派每一个人的文件下不一定相同大家可以根据自己的在网上看一下相关配置资料

4.配置好这里数据最后我们在重新启动一下进行更新就可以了
sudo reboot 重启

二、常用的相关函数
在这里插入图片描述

三、代码测试
上面我们进行了相应的配置下面我们就用一些简单的代码来实现树莓派与Windows之间的串口通信

#include<stdio.h>
#include<stdlib.h>
#include<wiringSerial.h>
#include<wiringPi.h>
//注意包含相应函数的头文件
int main(void)
{
   int fd;
   int cmd;
   if(wiringPiSetup()==-1)   //初始化判断
   {
         printf("初始化失败!\n");
         exit(-1);
   }
   fd=serialOpen("/dev/ttyAMA0",9600);  //串口默认"/dev/ttyAMA0"波特率9600
   if(fd==-1)
   {
         printf("open error\n");
         exit(-1);
   }
   while(1)
   {
      //进行串口数据的判断并打印接受到的数据
       /* while(serialDataAvail(fd)!=-1)
        {
            cmd=serialGetchar(fd);
            printf("cmd=%d\n",cmd);
        }*/
        serialPutchar(fd,'Y');  
        delayMicroseconds(1000000);  //每秒写入一个字符
        //如果我们想进行字符串之间的传送查看相应的函数使用就好了
        //serialPuts(fd,"xaio yin student");
   }
  serialclose(fd);
  return 0;
  }
        

*注意编译的时候要加上相应的库连接

gcc serial.c -lwiringPi
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210113231303125.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2JveWJz,size_16,color_FFFFFF,t_70)

打开串口工具观察自己的代码看是否实现相应的功能
在串口使用的时候我们要注意波特率的选择应该和我们编程中的数据相同 在这里我们选择的是9600
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小殷学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值