查看: 4973|回复: 3

[求助] Kinetis K60 UARTx_S1寄存器IDLE置位问题

[复制链接]

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
发表于 2013-7-19 10:50:49 | 显示全部楼层 |阅读模式
大家好!想请教一下关于Kinetis K60串口通信的问题:串口UARTx_S1 寄存器中的IDLE位是在接收线空闲的时候置位,并产生中断的。当通讯过程中有干扰信号使IDLE置位并发生中断,而IDLE中断是需要读取D寄存器才能清除的,此时D寄存器里没有数据,就没有办法清掉IDLE位。这样就反复频繁的进入接收空闲中断(因IDLE位没有清除)。想请问下,在这种情况下,应该怎样清除IDLE位?谢谢!
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

10

主题

459

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2024-10-24
发表于 2013-7-19 12:33:20 | 显示全部楼层

回复:Kinetis K60 UARTx_S1寄存器IDLE置位问题

不知你代码是怎么设置判断Idle的,既然有干扰你可以考虑设置 consecutive logic 1值大一些,减少干扰,另外,IDLE标志的清除是有操作时序的要求的,需要在读取D之前去读取一次状态寄存器,你可以检查一下代码。
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

130

帖子

0

中级会员

Rank: 3Rank: 3

积分
287
最后登录
1970-1-1
 楼主| 发表于 2013-7-19 15:02:53 | 显示全部楼层

RE:Kinetis K60 UARTx_S1寄存器IDLE置位问题

问题解决了,主要是UARTx_C1的ILT默认是0,起始位后就计数,这样当有干扰信号时容易发生IDLE中断。如果把ILT置1,当在停止位后计数,这样就可以减少干扰信号造成的IDLE中断。另外,为了保险也按版主的方法配置了。谢谢版主
回复 支持 反对

使用道具 举报

该用户从未签到

20

主题

108

帖子

0

中级会员

Rank: 3Rank: 3

积分
242
最后登录
2021-12-10
发表于 2013-7-20 18:26:46 | 显示全部楼层

RE:Kinetis K60 UARTx_S1寄存器IDLE置位问题

问个菜问题,空闲线唤醒是在没有数据发过来的时候唤醒吗?地址标志唤醒是怎么个原理?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 08:36 , Processed in 0.089850 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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