[DSP编程]

DSP28035使用FIFO中断接收数据问题,

[复制链接]
1376|9
手机看帖
扫描二维码
随时随地手机跟帖
1156807738|  楼主 | 2019-12-12 13:28 | 显示全部楼层 |阅读模式
本帖最后由 1156807738 于 2019-12-13 16:27 编辑

程序没问题的,是我软件的问题,为了感谢各位热心前辈们,对我这个初学小白的指导,给各位分享一下我此次这次使用FIFO中断收发不定长数据的思路。因公司要求,代码就不挂了。
思路要点:
1.使用FIFO发送中断级别0,在发送数据时候使能中断结束及时清除标志位,响应组内中断(注意最后一次进入中断要关闭发送中断)
2.接收FIFO中断4级,在发送数据时候使能中断结束及时清除标志位,响应组内中断。为了能够接收更多数据,一帧数结束后,使用定时器定时去读取FIFO的状态未是否为空,如果延时超过3个字符的发送周期,一般可以判断收发接收(具体以设置的波特率算),如果还有数直接通过接收寄存器读取出来触发不了中断的剩余数据(即少于4字节的数)。
3,通过判断标志位的方式,确定一帧数据接收完毕,可以处理了。

这种方式可以实现发送任意字节的长度,也能一定程度上减少触发中断的频率。
供各位新手参考。谢谢大家

使用特权

评论回复

相关帖子

1156807738|  楼主 | 2019-12-12 13:49 | 显示全部楼层
本帖最后由 蒋博1026 于 2020-11-15 14:34 编辑

11111

使用特权

评论回复
kingkits| | 2019-12-12 14:22 | 显示全部楼层
本帖最后由 蒋博1026 于 2020-11-15 14:35 编辑

你是不是使能了发送中断?
那个中断只有在由数据需要发送时才能是能,当没有发送数据了,就得关闭。

使用特权

评论回复
评论
1156807738 2019-12-12 14:27 回复TA
谢谢前辈的回复,我在发送数据函数里开启了FIFO发送中断,在中断接收完了,最后一次进入中断后,把FIFO发送使能就关闭了,下面是我挂的代码?,请您看下 
1156807738|  楼主 | 2019-12-12 14:28 | 显示全部楼层
本帖最后由 蒋博1026 于 2020-11-15 14:35 编辑

1111

使用特权

评论回复
1156807738|  楼主 | 2019-12-12 14:29 | 显示全部楼层
1156807738 发表于 2019-12-12 14:28
interrupt void SciaTxFifoIsr(void)  //发送中断
{   
        Uint16 i;

总共发了一个9个字节的数据

使用特权

评论回复
1156807738|  楼主 | 2019-12-12 15:32 | 显示全部楼层
本帖最后由 蒋博1026 于 2020-11-15 14:35 编辑

问题找到了,谢谢大家不用再回复了,是自己粗心导致。

使用特权

评论回复
zhangmangui| | 2019-12-12 22:38 | 显示全部楼层
1156807738 发表于 2019-12-12 15:32
问题找到了,谢谢大家不用再回复了,是自己粗心导致

最好详细分享一下 解决办法

使用特权

评论回复
1156807738|  楼主 | 2019-12-13 10:09 | 显示全部楼层
本帖最后由 蒋博1026 于 2020-11-15 14:35 编辑

11111

使用特权

评论回复
yklstudent| | 2020-11-6 16:20 | 显示全部楼层
本帖最后由 蒋博1026 于 2020-11-15 14:35 编辑

FIFO深度就4,太小了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

40

帖子

0

粉丝