OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1477|回复: 0

NRF51单片机UART模块可用于控制UART。UART模块有三种模式:

[复制链接]

79

主题

395

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1765
金钱
1765
注册时间
2015-9-21
在线时间
544 小时
发表于 2023-8-15 21:44:46 | 显示全部楼层 |阅读模式
UART模块可用于控制UART。UART模块有三种模式:

不带硬件流控制的 UART
具有硬件流控制的UART
具有低功耗模式的UART将使用CTS线路上的硬件流控制和GPIOTE来关闭nRF芯片中的UART模块,从而使nRF节省功耗。
低功耗模式将使用 RTS/CTS 流量控制,同时使用 CTS 线路进入低功耗模式。只要来自远程端的 CTS 信号为高电平,UART 外设就会关闭,当 CTS 变为低电平(活动)时,UART 外设将被启用。

异步性质

发生EVENT_RXDRDY中断时,UART 模块将从 RXD 寄存器接收字节。该字节将被放入 RX FIFO 中,并可由应用程序使用 app_uart_get 获取。接收并放置在RX FIFO中的第一个字节将触发APP_UART_DATA_READY事件。

app_uart_put会将提供的字节放在 TX FIFO 中。TX FIFO 中的字节将由 app_uart 模块写入 TXD 寄存器。当字节成功传输时,将触发EVENT_TXDRDY中断。app_uart模块中的中断处理程序将从FIFO获取下一个字节并将其写入TXD寄存器。应用程序可以调用app_uart_put来请求传输字节。

错误处理

在数据接收期间发生错误时,在UART外设中设置错误标志。错误将作为包含evt_type字段中APP_UART_ERROR_SOURCE的app_uart_evt_t传播到应用程序事件处理程序。data.error_source字段将包含来自UART外设寄存器的原始错误源信息。

如果接收数据时RX FIFO已满,则将生成包含evt_type字段中APP_UART_NRF_ERROR app_uart_evt_t并将其发送到应用程序。该事件将在data.error_code字段中包含来自 FIFO 的原始错误代码。

具有流量控制的UART低功耗模式

当UART配置为使用带流量控制的低功耗模式时,它将尽可能使用低功耗模式。当来自远程端的 CTS 信号设置为非活动状态时,UART 外设将被停用。当远程端将 CTS 设置为活动状态时,UART 外设将被激活。

当数据在TX FIFO中可用且CTS处于活动状态时,将启用STARTTX寄存器。

应用程序应使用app_uart_get_connection_state来确保 nRF51 芯片仅在 UART 外设断开连接时关闭电源。当 nRF51 芯片处于断电模式时,远程端可以通过将 CTS 设置为活动状态来唤醒 nRF51 芯片。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 08:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表