树莓派串口通信

(一)树莓派串口通信准备步骤

1 利用xshell或者putty等软件进行网络连接树莓派

2 修改 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

3 修改 inittab文件 (如果这一步/etc目录下没有inittab文件,则不进行操作)
命令:
cd /etc/
sudo vim inittab
注释掉最后一行内容:

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

4 命令:sudo reboot (重启之后再次连接树莓派开始以下操作)

5 用TTL模块连接电脑与树莓派 (连接三根线)

6 打开串口调试助手进行连接

(二)树莓派串口通信函数 (进行以下程序的运行验证)

#include <wiringPi.h>
#include <wiringSerial.h>
#include <stdio.h>

int main()
{
        int fd;
        int i;
        int j;
        int cmd;

        wiringPiSetup();			//树莓派设备初始化
        fd=serialOpen("/dev/ttyAMA0",9600);	//树莓派串口设备是/dev/ttyAMA0,通信波特率为9600

        for(i=0;i++;i<5)
        {
                serialPutchar(fd,'c');			//树莓派给串口输出字符c
                delayMicroseconds(1000000);		//延迟1000000秒,即1秒
        }

        serialPuts(fd,"\r\n");
        serialPuts(fd,"hello pc I am raspberrypi\r\n");
        serialPrintf(fd,"the raspberrypi send end\r\n");	//【树莓派给串口传送数据的程序结束】

        while(serialDataAvail(fd)!=-1)			//开始手动在串口助手地方处发送0或1共计5次
        {
                for(j=0;j++;j<5)
                {       
                if(cmd==0)
                {
                        serialPuts(fd,"the raspberry receive world  is 0\r\n");
                }else if(cmd==1)
                {
                        serialPuts(fd,"the raspberry receive world is 1\r\n");
                }
                }
                break;				//【电脑给树莓派传送数据0和1结束】
        }

        serialFlush(fd);
        while(serialDataAvail(fd)==-1)
        {
        serialPuts(fd,"the serial buffer is empty\r\n");
        break;				//串口的缓存区清空
        }					
        
        printf("the grammer is successful execute\n");	//宿主机显示器显示程序结束

        return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值