xssr123 发表于 2015-1-13 23:14:31

kl25中UART的中断问题

KL25的每个UART只有一个中断入口地址,那么同一个UART中的发送中断和接收中断同时使用,要怎么判断到底是哪个触发了中断?

superrf 发表于 2015-1-13 23:28:53

可以读取寄存器啊,哪个串口有数据就处理哪个

powerk6 发表于 2015-1-13 23:33:00

根据寄存器标志位判断是接收还是发送 或者2者都有

qs6361036 发表于 2015-1-15 20:16:19

读寄存器标志位来判断的!

qs6361036 发表于 2015-1-15 20:19:02

powerk6 发表于 2015-1-13 23:33
根据寄存器标志位判断是接收还是发送 或者2者都有

如果2者都有 ,是先处理接收 还是先处理发送的 ?

powerk6 发表于 2015-1-15 21:32:48

qs6361036 发表于 2015-1-15 20:19
如果2者都有 ,是先处理接收 还是先处理发送的 ?

先接收放入缓存队列
发送是已发完中断,如果有数据再发,延迟一点也没关系

ijlc1314 发表于 2015-1-15 22:25:51

读寄存器标志位,应该有库支持的

HalenYU 发表于 2015-1-15 22:37:28

如果不是全双工模式啊,发时关收中断,收时关发中断

laotui 发表于 2015-1-15 23:26:35

查标志位应该就行了,我一般用查询发送中断接收。

FSL_TICS_Robin 发表于 2015-1-19 09:14:32

楼主你好
请在中断服务函数里判断UARTx_S1寄存器的TDRE、TC、RDRF标志位实现。

FSL_TICS_Robin 发表于 2015-1-19 09:23:59

FSL_TICS_Robin 发表于 2015-1-19 09:14
楼主你好
请在中断服务函数里判断UARTx_S1寄存器的TDRE、TC、RDRF标志位实现。 ...

具体如何实现可以看一下参考手册的“39.3.5 Interrupts and status flags”章节。
如果还是有些困惑的话,可以使用KDS里的PE工具生成一个带串口中断服务函数的例子看一下。

qq开始学单片机 发表于 2015-1-27 01:58:09

laotui 发表于 2015-1-15 23:26
查标志位应该就行了,我一般用查询发送中断接收。

FIFO~         
页: [1]
查看完整版本: kl25中UART的中断问题