您的位置:
OpenADSP社区论坛
->
Blackfin专区
->
新手上路
-> 请问SPORT RX 中断读取数据的理解:
本帖共有
630
个阅读者
请问SPORT RX 中断读取数据的理解:
xuanjinjin
(论坛新手)
头衔:
社区公民
帮派:
无帮无派
帖数:
57
金钱:
562
积分:
72
注册时间:
2013/9/23
小
大
楼主
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
请问SPORT RX 中断读取数据的理解:
The SPORT RX interrupt is generated when RSPEN = 1 and the RX FIFO
has received words in it. When the core processor has read all the words in
the FIFO, the RX interrupt is cleared.
请问:当SPORT中断产生,进入中断服务函数,假设FIFO中有三个数据,请问是不是这三个数据可以同时读出,还是分三次进入中断读出数据。谢谢大神指导
我的底牌是什么
等级:
2013/10/22 16:48:53
编辑帖子
帖子评价
单帖屏蔽
删除帖子
xuanjinjin
(论坛新手)
头衔:
社区公民
帮派:
无帮无派
帖数:
57
金钱:
562
积分:
72
注册时间:
2013/9/23
小
大
第
1
楼
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
我觉得应该是分三次读出,请问是不是这样?这些手册没有说明白,可能是很常识的事情
我的底牌是什么
等级:
2013/10/22 16:50:08
编辑帖子
帖子评价
单帖屏蔽
删除帖子
andy
(论坛版主)
头衔:
社区公民
帮派:
无帮无派
帖数:
2287
金钱:
11132
积分:
2263
注册时间:
2011/6/8
小
大
第
2
楼
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
SPROT的FIFO是32bit的,一次只能存储一个数据,如果你是8位的,每次进入fifo的数据也是8bit,如果fifo中的这个数据没有被读取,此时Fifo的状态是满,其他数据如果通过SPORT口传输过来后,会被丢弃,所以必须在下一个数据传输到来前,读取这个FIFO的数据,当数据被读取后,FIFO状态变为空,此时如果有数据过来,会被存入FIFO。
所以,每次中断只能读取FIFO中一个数据,不存在FIFO中有3个数据等待的情况,如出现,后到的数据会被丢弃。
这家伙很懒,什么也没有留下!
等级:
2013/10/24 16:28:34
编辑帖子
帖子评价
单帖屏蔽
删除帖子
xuanjinjin
(论坛新手)
头衔:
社区公民
帮派:
无帮无派
帖数:
57
金钱:
562
积分:
72
注册时间:
2013/9/23
小
大
第
3
楼
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
FIFO不是一个缓存的作用吗?假设里面已经缓存了三个数据,此时进入中断,中断服务函数里面是不是可以连续的把三个数据都取出来,直到FIFO为空,还是分三次触发中断读数据。或许我理解你的意思了“
SPROT的FIFO是32bit的,一次只能存储一个数据,如果你是8位的 ”也就是说在中断中FIFO只能存一个数据,不存在缓存数据情况。只有在DMA模式FIFO缓存才起作用,是这样理解吗 ?
我的底牌是什么
等级:
2013/10/25 17:06:44
编辑帖子
帖子评价
单帖屏蔽
删除帖子
andy
(论坛版主)
头衔:
社区公民
帮派:
无帮无派
帖数:
2287
金钱:
11132
积分:
2263
注册时间:
2011/6/8
小
大
第
4
楼
信息
|
留言
|
Email
|
主页
|
编辑
|
管理
|
不管哪个模式,FIFO都起作用,你用CORE读取SPORT_RX寄存器,读取的值就是他的FIFO,DMA也是读这个FIFO,只不过DMA不是每个数据都进一次中断,而是完成DMA描述的数据量后进入中断。FIFO每次只能存一个数据,不及时读取,后面数据无法进入FIFO
这家伙很懒,什么也没有留下!
等级:
2013/10/25 20:50:13
编辑帖子
帖子评价
单帖屏蔽
删除帖子
Powered by
OpenADSP
Copyright © 2010
www.
Openadsp
.com
. All rights reserved.159201 Call, 1 Queries, Processed in 0.015991 second(s),