串口通信概述

本文介绍了串口通信的重要性和工作模式,包括全双工和半双工,并详细阐述了串口通信的语言(数据格式)和语速(波特率)等条件。通过树莓派配置串口的示例,展示了如何使用puts和getchar函数进行数据发送与接收。
摘要由CSDN通过智能技术生成

1.为什么要使用串口通信?

        因为硬件模块化和软件模块化,要实现多机通信需要使用到串口通信

2.工作模式

        2.1 全双工

                相当于男女吵架,双方可以同时互怼

        2.2 半双工

                相当于男女吵架,一方在怼另一方只能听着

3.通信的条件

        3.1 语言:

                        数据格式:1.数据位

                                        2.停止位

                                        3.奇偶校验位

        3.2 语速:波特率

4.树莓派配置串口(首次使用串口)

        

 5.串口相关函数

Demo

puts函数

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

int initSerial(int fd)
{
        wiringPiSetup();
        fd = serialOpen("/dev/ttyAMA0",9600);
        return fd;
}


int main()
{
        int fd = initSerial(fd);
        initSerial(fd);
        while(1){
                serialPuts(fd,"I love you\r\n");
                delayMicroseconds(1000000);
        }

        return 0;
}

 getchar函数

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

int initSerial(int fd)
{
        wiringPiSetup();
        fd = serialOpen("/dev/ttyAMA0",9600);
        return fd;
}


int main()
{
        int fd = initSerial(fd);
        int getData;
        initSerial(fd);
        while(1){
        while(!serialDataAvail(fd) == 1);
                getData = serialGetchar(fd);
                printf("getData = %c\n",getData);

                //serialPuts(fd,"I love you\r\n");
                //delayMicroseconds(1000000);

        }
        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值