查看: 6743|回复: 7

请问FM33LC0xx系列LPUART发送中断TXBE和TXSE的区别是什么?

[复制链接]

1

主题

16

帖子

357

积分

高级工程师

Rank: 3Rank: 3

积分
357
发表于 2020-7-11 17:08:37 | 显示全部楼层 |阅读模式
本帖最后由 rogerzhong 于 2020-7-11 17:11 编辑

测试FM33LC0xx系列LPUART0的中断收发时遇到一个问题,使能TXSE中断时,发送数据无法产生中断标志;改成使能TXBE中断时,一切正常。根据芯片手册描述如下:
LPUARTx_IER
bit1:TXBE_IE 发送缓存空中断使能, 发送缓存空中断使能, 发送缓存空中断使能, 1有效 (Transmit Buffer Empty Interrupt Enable)
bit0:TXSE_IE 发送缓存空且移位寄器中断使能,1有效 (Transmit Shift register Interrupt Enable)

请问两者的区别是什么,使用时应该注意什么?

LPCUARTx_IER寄存器

LPCUARTx_IER寄存器
回复

使用道具 举报

1

主题

11

帖子

1015

积分

资深专家

Rank: 7Rank: 7Rank: 7

积分
1015
发表于 2020-7-11 19:57:35 | 显示全部楼层
TXSE中断是移位寄存器把数据按位发送到管脚完成中断,这个才是真正的数据发送完成标志。
TXBE中断是发送缓存空的中断,发送缓存空不代表数据已经发送完成,当发送缓存被发送到移位寄存器后就会产生这个中断。我是这么理解的,不知道对不对哈!
回复

使用道具 举报

1

主题

16

帖子

357

积分

高级工程师

Rank: 3Rank: 3

积分
357
 楼主| 发表于 2020-7-14 20:52:35 | 显示全部楼层
谢谢楼上,的确是这样理解的。复旦微的技术人员正在帮忙分析我的代码。有结果我再更新上来。MCU把数据从TX BUFFER寄存器TXBUF发送出去后产生TXBE中断标志,数据从移位寄存器Transmit shift reg完成发送到芯片管脚后,产生TXSE中断标志。

LPUART Diagram

LPUART Diagram
回复

使用道具 举报

1

主题

45

帖子

2223

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2223
发表于 2020-7-15 13:34:06 | 显示全部楼层
rogerzhong 发表于 2020-7-14 20:52
谢谢楼上,的确是这样理解的。复旦微的技术人员正在帮忙分析我的代码。有结果我再更新上来。MCU把数据从TX  ...

TXBE与TXSE的区别
TXBE 默认值为1,TXSE默认值为0,因此TXBE_IE中断使能,则会立马产生中断事件(可以在中断里进行TXBUF操作),而TXSE的话必须先写TXBUF,数据发送完成(发送缓存空且移位寄存器空)才会置起标志。
回复

使用道具 举报

3

主题

19

帖子

498

积分

高级工程师

Rank: 3Rank: 3

积分
498
发表于 2021-1-20 17:14:54 | 显示全部楼层
我是一只鱼21 发表于 2020-7-15 13:34
TXBE与TXSE的区别
TXBE 默认值为1,TXSE默认值为0,因此TXBE_IE中断使能,则会立马产生中断事件(可以在 ...

有没有TXBE的例程,自己改的调试的时候会死在中断,而且0.11版本的例程也没有清TXBE标志的库函数
回复

使用道具 举报

6

主题

25

帖子

124

积分

中级工程师

Rank: 2

积分
124
发表于 2021-3-8 11:09:30 | 显示全部楼层
UART4也是这样吗?那为什么发送到管脚输出的中断始终不能进入呢?
回复

使用道具 举报

35

主题

109

帖子

1518

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1518
发表于 2021-5-19 11:31:59 | 显示全部楼层
MR_he 发表于 2021-1-20 17:14
有没有TXBE的例程,自己改的调试的时候会死在中断,而且0.11版本的例程也没有清TXBE标志的库函数 ...

TXBE 是BUFFER空就置标志,写buffer自动清标志。
回复

使用道具 举报

35

主题

109

帖子

1518

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1518
发表于 2021-5-19 11:32:39 | 显示全部楼层
皖宁港 发表于 2021-3-8 11:09
UART4也是这样吗?那为什么发送到管脚输出的中断始终不能进入呢?

一样的。检查下中断配置是否正确
回复

使用道具 举报

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

本版积分规则

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