4470|7

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请问关于UART口接收数据的问题 [复制链接]

DEC2407的例程是:由PC机向UART一次发送16个整数,发生接收中断,然后DSP一次读取16个数据。
请问:是必须发送满16个字节才触发接收中断吗,这个值是不是由FIFO设置决定的?
如果希望由外部设备向UART发送一个字节就触发中断,并进行识别,应该怎么修改程序?
多谢

最新回复

如果读,应该是总归能读出东西来的,怎么可能读了读不到内容呢?关键是内容所包含的信息是不是我们所期望的。  详情 回复 发表于 2006-12-28 11:34
点赞 关注

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
情况就是一次键盘按键发送3个字节数据,如AA 71 FF
如何随时接收这一帧数据?
不知这个问题是过于简单或者是问得不合理,还请指点
多谢
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
个人认为:一帧一帧接收是可以的,因为不管按一次键发出几个字节,毕竟发送的时候是一帧一帧发送的。在接收中断程序里应该就可以修改

 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
关键是如何写这个中断程序呢?我到现在还没搞清楚。如何使它接收一
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

5
 

先产生中断,然后才能接收

我知道一次读出三个字节,问题是似乎这个FIFO需要填满才能产生中断?填满的意思是一次接收到16个字节或者8个字节(这个值也就是fifo深度,可以设定为16,8等等,但是没有3)。
现在,我按一次键,产生3个字节的一帧数据,这么产生中断呢?
有没有不把字节数限制死,可以直接识别一帧的接收模式?
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 

不是你说的那样

引用:
写道:
我知道一次读出三个字节,问题是似乎这个FIFO需要填满才能产生中断?填满的意思是一次接收到16个字节或者8个字节(这个值也就是fifo深度,可以设定为16,8等等,但是没有3)。
现在,我按一次键,产生3个字节的一帧数据,这么产生中断呢?
有没有不把字节数限制死,可以直接识别一帧的接收模式?
一次读出三个字节,其实是三次中断才完成的。也就是说,一次按键导致了三次串口读中断
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

7
 
多谢大家指点!目前已经实现了我想要的功能,但是还存在疑惑。
我在一个无限循环里检测UART串口的LSR寄存器,以检测FIFO中是否有数据,如下:
复制内容到剪贴板
代码:
while(1) {
    if(LSR & 0x01 == 0x01) {
        CMD[0] = RHX & 0xff;
        CMD[1] = RHX & 0xff;
        CMD[2] = RHX & 0xff;
    }
}
就可以读取这三个字节。目前运行良好。但是奇怪的是即使每次多读机个字节,仍然能读出东西来,并且可以执行两次{}里的语句,例如:
复制内容到剪贴板
代码:
while(1) {
    if(LSR & 0x01 == 0x01) {
        CMD[0] = RHX & 0xff;
        CMD[1] = RHX & 0xff;
        CMD[2] = RHX & 0xff;
        CMD[3] = RHX & 0xff;
        CMD[4] = RHX & 0xff;
        CMD[5] = RHX & 0xff;
    }
}
一次按键之后,会执行两次if{}里的读取,也就是说一共读出来12个字节。其中有效的3个字节仍然在,剩下的就不明白是什么东西了
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

8
 
如果读,应该是总归能读出东西来的,怎么可能读了读不到内容呢?关键是内容所包含的信息是不是我们所期望的。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表