0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UART的收发数据操作介绍

电子工程师 来源:网络整理 2018-02-01 03:27 次阅读

PIC32MZEF一共有6个UART端口,资源还是比较丰富的。UART是比较常用的外设,特别是在调试的时候,串口打印信息很方便,测试起来很方便,这篇就来测试一下UART数据的发送和中断接收。

先来看看板卡原理图中的引脚接口,UART1和UART2都引出到接插件了,但是UART2的引脚用作OLED驱动使用了,我们就来测试UART1吧。

1

2

UART模块的主要特性有:

• 全双工8位或9位数据发送

• 偶校验、奇校验或无奇偶校验选项(对于8位数据)

• 一个或两个停止位

硬件自动波特率特性

• 硬件流控制选项

• 完全集成的波特率发生器(Baud Rate Generator,BRG),具有16位预分频器

• 在100 MHz时,波特率范围为76 bps至25 Mbps(PBCLK2)

•8级深先进先出(First-In-First-Out,FIFO)发送数据缓冲区

•8级深FIFO接收数据缓冲区

• 奇偶校验、帧和缓冲区溢出错误检测

• 支持仅在地址检测时中断(第9位 = 1)

• 独立的发送和接收中断

• 用于诊断支持的环回模式

•LIN协议支持

•IrDA编码器和解码器,具有用于支持外部IrDA编码器/解码器的16倍频波特率时钟输出

先来看看UART的内部框图

3

下面详细说一下UART的配置。打开MHC,打开HarmonyFramework Configuration》Drivers》USART。在“Use USARTDrive?”之前的选择框中打勾。使能UART外设功能。

4

1,Driver Implementation:这个有动态和静态的可以,我们这里选择动态的。

2,中断模式选择使能,这里打钩,表示使能中断。

3,Number of USART Driver Instances:选择需要的USART实例的数量,根据“Number of USART Driver Instances” 对话框中的数量,会产生“USARTDriver Instance N”(N = 0,1,2…)。

展开“USART Driver Instance N”(N = 0,1,2…),根据应用的需要,对每个USART实例的静态驱动程序进行配置。

4,USART Module ID:选择ID1,就是使用的UART1,这里可以选择1-6。

5,Buad Rate:波特率设置,这里我们设置为19200

6,发送中断优先级设置,发送我一般使用查询方式,而接收使用中断方式,所以这里发送选择禁止中断。

7,接收中断优先级设置,InterruptPriority和Interrupt Sub-priority这两项是选择中断优先级。每个向量有7个用户可选的优先级,每个优先级内有4个用户可选的次优先级。

8,Operation Mode:模式选择,模式有IrDA模式,正常模式,地址检测模式,环回模式。我们选择正常模式就可以了。

9,Line Control:数据格式选择,数据位有8,9位,校验有奇校验,偶校验,无校验,停止位有1,2位。我们选择N81数据格式。

10,Handshake Mode:握手模式,有单工模式,流控制模式和正常模式。我们选择正常模式。

11,Power State:用来选择UART可以运行在哪些节能模式下,这里选择FULL表示所有模式下都可以运行。

打开引脚设置窗口,进行48,69两个引脚设置,设置成UART引脚

5

6

点击生成代码,选择自动覆盖以前的程序

7

看了生成后新的工程文件

8

在APP.H文件里增加一些变量定义

9

还是把中断函数直接移到APP.C下面,再编写程序。下篇的话再介绍如何使用回调函数进行程序的编写。App.c中增加函数,程序。程序收到一个字节数据后立马回发,并在显示屏上显示接收到的字节数

10

11

12

上位机测试软件,上电后先发个55,AA

13

显示效果和硬件接线,直接使用的是TTL转USB转接头

14

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • uart
    +关注

    关注

    22

    文章

    1235

    浏览量

    101358
收藏 人收藏

    评论

    相关推荐

    uart数据收发不成功

    我在做uart实验时,波特率57600,能够成功收发数据,我改成115200,根据公式UBRDIVn = (int)(12000000/(115200 x 16)) -1= (int)(6.5) -1= 6 -1 = 5计算UB
    发表于 05-20 05:45

    如何去实现UART阻塞方式收发数据

    如何去实现UART阻塞方式收发数据呢?如何去实现UART中断方式收发数据呢?
    发表于 12-08 06:50

    浅谈HAL库uart数据收发与部分源码

    HAL 库uart 数据收发与部分源码介绍提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,
    发表于 01-21 07:31

    UART通用异步收发传输器接收数据是怎样的

    UART是什么? UART通用异步收发传输器接收数据是怎样的?
    发表于 02-16 07:47

    实测ch554_uart_2_uart.rar操作CH340G收发,接收总是少收到几个怎么处理

    实测ch554_uart_2_uart.rar这个示例,波特率调为115200,主频24M,操作CH340G(TXD与RXD短接)收发,批量发送8K数据,接收总是少收到几个,是速度只能
    发表于 06-13 07:27

    CW32单片机UART基本数据收发功能介绍

    通用异步收发器(Universal Asynchronous Receiver/Transmitter:UART),是一种通用串行数据总线,常用于系统内各子模块间的数据交换。以CW32
    发表于 04-19 10:18

    UART收发器设计实例

    UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是广泛使用的异步串行数据通信协议。下面首先介绍
    发表于 07-22 11:24 113次下载
    <b class='flag-5'>UART</b><b class='flag-5'>收发</b>器设计实例

    通用异步收发器(UART

    通用异步收发器(UART
    发表于 10-11 14:53 21次下载
    通用异步<b class='flag-5'>收发</b>器(<b class='flag-5'>UART</b>

    UART收发器的设计实例详细说明

    UART(Universal Asynchronous Receiver Transmitter,通用异步收发器)是广泛使用的异步串行数据通信协议。下面首先介绍
    发表于 12-27 08:00 4次下载
    <b class='flag-5'>UART</b><b class='flag-5'>收发</b>器的设计实例详细说明

    STM8S_ 004_UART基本收发数据

    STM8S_004_UART基本收发数据
    的头像 发表于 03-20 10:41 4476次阅读
    STM8S_ 004_<b class='flag-5'>UART</b>基本<b class='flag-5'>收发</b><b class='flag-5'>数据</b>

    【CubeIDE】STM32 HAL库史上最详细教程(一):UART串口收发

    博主能力有限,有错误望大佬指出  0x00 文章内容:UART阻塞方式收发UART中断方式收发UART中断回调函数
    发表于 11-23 17:51 12次下载
    【CubeIDE】STM32 HAL库史上最详细教程(一):<b class='flag-5'>UART</b>串口<b class='flag-5'>收发</b>

    CC2640R2F开发之:UART串口收发&TI-RTOS任务创建(二)

    对于蓝牙的数据传输来说UART串口起到至关重要的作用,本篇将介绍CC2640R2F的UART串口使用方法,结合TI-RTOS操作系统与Rin
    发表于 11-30 10:21 10次下载
    CC2640R2F开发之:<b class='flag-5'>UART</b>串口<b class='flag-5'>收发</b>&TI-RTOS任务创建(二)

    CW32单片机UART基本数据收发功能介绍

    CW32单片机UART基本数据收发功能介绍
    的头像 发表于 10-24 16:50 766次阅读
    CW32单片机<b class='flag-5'>UART</b>基本<b class='flag-5'>数据</b><b class='flag-5'>收发</b>功能<b class='flag-5'>介绍</b>

    UART通用异步收发器原理是什么

    /Transmitter,通常称为UART)是一种异步收发传输器,用处非常广泛,几乎两个单片机间的通讯、USB-TTL、RS-232都是使用UART协]协议,将数据通过串列通讯进行传输
    的头像 发表于 11-09 17:32 750次阅读
    <b class='flag-5'>UART</b>通用异步<b class='flag-5'>收发</b>器原理是什么

    SDIO UART和音频电压转换收发器TWL1200数据

    电子发烧友网站提供《SDIO UART和音频电压转换收发器TWL1200数据表.pdf》资料免费下载
    发表于 05-29 10:16 0次下载
    SDIO <b class='flag-5'>UART</b>和音频电压转换<b class='flag-5'>收发</b>器TWL1200<b class='flag-5'>数据</b>表