树莓派和电脑之间串口通信编程

前言

参考博文

https://www.cnblogs.com/lulipro/p/5992172.html

1.wiringPi库

通过调用树莓派自带的wiringPi库来实现串口通讯,查看树莓派是否已装wiringPi,使用gpio -v来查看,如已安装会显示内容如下:
在这里插入图片描述查看树莓派所有管脚gpio readall
在这里插入图片描述
在这里插入图片描述

2.wiringPi库串口通信

初次使用树莓派串口编程,需要配置,默认串口作为操作系统启动打印信息使用。

1.修改 cmdline.txt文件 
>cd /boot/
>sudo vim cmdline.txt

删除【】之间的部分
dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

2.修改 inittab文件 如没有此文件跳过
>cd /etc/
>sudo vim inittab

注释掉最后一行内容:,在前面加上 # 号
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

3.sudo reboot 重启

3.测试程序

#include <wiringPi.h>
#include <wiringSerial.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
char txbuf[128]="recv data";
char rxbuf[128]={0};
int main()
{
        wiringPiSetup();
        int fd=serialOpen("/dev/ttyAMA0",9600);
        while(1)
        {
                if(serialDataAvail(fd) >=1)    //如果串口缓存中有数据
                {
                        read(fd,rxbuf,128);
                        printf("%s\r\n",rxbuf);
                        write(fd,txbuf,strlen(txbuf));
                }
        }
        return 0;
}

在这里插入图片描述

4.注意

使用wiringPi库编程需要加上-lwiringPi,例如

 gcc uart_test.c -lwiringPi
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值