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

一开始我们配置了串口登录树莓派,这样会导致我们后面在用树莓派的时候有些冲突,所以我们需要先修改树莓派串口的一些配置

/* 修改 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


/*修改 inittab文件 */  //如果没有这个文件,直接跳过即可
>cd /etc/
>sudo vim inittab

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


sudo reboot 重启

 树莓派给电脑发送信息

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

int main()
{

     int fd;
     if(WiringPiSetup()==-1){
    
        printf("Setup error\n");
        return -1;
     }   

     fd = serialOpen("/dev/ttyAMA0",9600);
     while(1){
       serialPutchar(fd,"c");  //发送字符
       //serialPuts(fd,"hello i am pi");// 发送字符串
       delayMicroseconds(1000000)//微秒级别 
     }
}

       

 电脑通过串口助手给树莓派发消息

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

int main()
{

     int fd;
     int cmd;
     if(WiringPiSetup()==-1){
    
        printf("Setup error\n");
        return -1;
     }   

     fd = serialOpen("/dev/ttyAMA0",9600);
     while(1){
           
        while( serialDataAvail(fd) != -1){

            cmd =serialGetchar(fd); // 通过接收到的指令执行不同的操作
               if(cmd == '2'){
                    printf("daxu 2\n");
                }
        }
     }
}

串口通信相关API

首先要包含头文件 #include <wiringSerial.h>

打开串口

int serialOpen (char *device, int baud)

device: 串口的地址,一般默认 “/dev/ttyAMA0”

buad: 波特率

返回值: 正常会返回文件描述符,否则返回-1失败

 多字节的发送的读取还是要用 read   write 文件那一块学的

发送一个字节到串口

void  serialPutchar (int fd, unsigned char c)

fd:文件描述符

c:要发送的数据

发送一个字符串到串口 

void  serialPuts (int fd, char *s)

fd:文件描述符

s:发送的字符串,字符串要以'\0'结尾

 获取串口缓存中可用的字节数

int   serialDataAvail (int fd)

fd:文件描述符

返回:串口缓存中已经接收的,可读取的字节数,-1代表错误

从串口读取一个字节数据返回。 

int serialGetchar (int fd)

fd:文件描述符

返回:读取到的字符

如果串口缓存中没有可用的数据,则会等待10秒,如果10后还有没,返回-1

所以,在读取前,做好通过serialDataAvail判断下。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在树莓派电脑之间进行串口通信,您可以使用USB转串口适配器将树莓派的UART连接到电脑的USB端口。 以下是在树莓派电脑之间进行串口通信的一般步骤: 1. 连接硬件:将USB转串口适配器连接到树莓派的USB端口,并通过适配器上的串口连接线将适配器的TX引脚连接到树莓派的RX引脚,适配器的RX引脚连接到树莓派的TX引脚。请注意,连接方式可能因适配器型号而异,请根据适配器的规格进行正确的连接。 2. 安装驱动程序:某些USB转串口适配器可能需要在电脑上安装相应的驱动程序。请查看适配器制造商提供的文档和驱动程序,以确保适配器能够正常工作。 3. 确定串口设备:在电脑上打开设备管理器(Windows)或终端(Mac和Linux),查找并确定USB转串口适配器的串口设备名称(例如,COM1、/dev/ttyUSB0等)。 4. 使用串口通信软件:使用串口通信软件(如Tera Term、PuTTY等)打开确定的串口设备,并配置串口参数,例如波特率、数据位、停止位等。确保与树莓派上的串口参数匹配。 5. 进行通信:在串口通信软件中,您可以发送和接收数据。在树莓派上编写相应的程序来处理接收到的数据或发送数据给电脑。 请注意,具体的配置和使用细节可能会因使用的硬件和操作系统而有所不同。在实际应用中,请参考相关文档和资源,并根据您的具体需求进行适当的配置和编程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值