树莓派串口编程

一、树莓派串口配置

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.sudo reboot 重启(这步之后有些树莓派就可以与电脑通信了,但我的不行)

3.上面步骤如果不行参考这篇博文:https://blog.csdn.net/qq_40388909/article/details/79438317

二、常用wiringPi串口函数

感谢作者:https://www.cnblogs.com/lulipro/p/5992172.html

三、树莓派与PC机通信

1.树莓派向电脑端发送数据

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

int main()
{
	int fd;

	if(wiringPiSetup() == -1)
	{
		printf("硬件接口初始化失败!\n");
		exit(-1);
	}
	
	fd=serialOpen("/dev/ttyAMA0",9600);//打开并初始化串口,波特率9600
	if(fd != -1){
		printf("serial open success\n");
		printf("fd=%d\n",fd);
	}

	while(1)
	{
		serialPutchar(fd,'v');//发送数据
		delayMicroseconds(1000000);
		serialPrintf(fd,"fuck!");
		delayMicroseconds(1000000);
		serialPuts(fd,"you are a lucky dog!");	
		delayMicroseconds(1000000);
	}

	return 0;
}

2.电脑端给树莓派发送数据

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

int main()
{
	int fd;
	int ret;

	if(wiringPiSetup() == -1)
	{
		printf("硬件接口初始化失败!\n");
		exit(-1);
	}
	
	fd=serialOpen("/dev/ttyAMA0",9600);//打开并初始化串口,波特率9600
	if(fd != -1){
		printf("serial open success\n");
		printf("fd=%d\n",fd);
	}

	while(1)
	{
		while(serialDataAvail(fd) !=-1)//判断是否有数据发送过来
		{
			ret=serialGetchar(fd);
			printf("ret=%d\n",ret);
		}
	}

	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值