火龙果(redpitaya)开发板常用接口C语言开发指南(十一)——串口通信详解(持续更新中)

Tina ·
更新时间:2024-09-21
· 993 次阅读

火龙果(redpitaya)开发板常用接口C语言开发指南(十一)——串口通信详解(持续更新中)串口通信串口及使用模块简介red pitaya串口收发红外译码数据
——本人为《火龙果实战指南——搭建基于Zynq处理器的测量仪器与创新实践平台》一书的作者之一,为了便于各位快速上手火龙果开发板,现提供部分实战指南,包含环境配置、源码、效果等,供大家学习交流使用。

Red pitaya开发板设计的初衷是用较低的成本,打造一个开发人员、学生和创客用于测量和控制的工具,以替代数台高价的实验设备。此开发板搭载双核心ARM® Cortex® A9 MCU和FPGA MCU,支持I2C、串口和SPI等数据总线的传输。接下来两节主要介绍如何使用red pitaya开发板板的通信接口进行相关的开发工作。

串口通信

red pitaya开发板实物如下图1所示,其中红色箭头所标注的E2接口为板子带有串口、IIC、SPI的拓展接口。
在这里插入图片描述
图1 red pitaya开发板实物

串口及使用模块简介

串行口是计算机中一种常用的接口,具有连接线少,通讯简单的特点,得到广泛的使用。常用的串口接口是 RS-232-C (又称 EIA RS-232-C),它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。此标准的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个 25 个脚的 DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。传输距离在码元畸变小于4% 的情况下,传输电缆长度应为50 英尺。
计算机可以每次传送一个或者多个位(bit)的数据。“串行”指的是每次只传输一位(1bit)数据。当需要通过串行通讯传输一个字(word)的数据时,只能以每次一位的方式接收或者发送。每个位可能是on(1)或者off(0)。很多技术文档中经常用mark表示on,而space表示off。
串行数据的速度通常用每秒传输的字节数bits-per-second(bps)或者波特率(baud)表示。这个值表示的是每秒钟被送出的0和1 的个数。很久以前,300bps就是很快的速度了,而随着科技进步,现在的电脑可以处理高达430,800的RS-232速率。表示波特率的单位还有kpbs和 Mbps,他们之间的关系为1kps=1000bps,1Mbps=1000kbps。一般提到串行设备的时候,通常说可能是某种数据通讯设备-DCE(Data Communications Equipment)或者数据终端设备-DTE(Data Terminal Equipment)。如果需要将两个DTE或者DCE设备连接起来的话,需要适配器或者交叉线缆将信号对交换。
模块结构图如图2所示。首先使用此模块对发射的红外(比如空调遥控器按下开关键)进行解码,解码时不需要发送任何指令,只需要拿起遥控对准模块的接收头按下,这时模块的串口就输出该红外编码。通过程序控制将此解码数据传输到red pitaya开发板。
与此同时,可以将red pitaya开发板收到的编码数据根据一定格式发送出去来远程控制空调的开关,即通过red pitaya开发板发送5个字节的指令,当空调开关按下,red pitaya开发板接收到的数据为(01 03 00),此时调用linux下的串口发射函数发射NEC信号编码为(01 03 00),即:由red pitaya开发板通过串口发射到红外模块的为:{A1,F1,0103,00}。
原创文章 18获赞 6访问量 1608 关注 私信 展开阅读全文
作者:天翼小余



c语言开发 更新 串口 串口通信 C语言 通信

需要 登录 后方可回复, 如果你还没有账号请 注册新账号