完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求教关于SSIDataPut()与SSIDataGet()这两条指令的执行的问题,SSIDataGet()这条函数如果未使用SSI模块的中断,若接收FIFO中没有数据是否会停在此处导致MCU无法执行其它任务呢?SSIDataPut()这条指令是否会产生同样的问题呢?谢谢各位了先!
|
|
相关推荐
4 个讨论
|
|
hongyue,
如果FIFO没有数据,则CPU会停留在这个函数中,直到FIFO有数据。你可以看一下这个函数的源码: SSIDataGet(unsigned long ulBase, unsigned long *pulData) [ // Check the arguments. ASSERT(SSIBaseValid(ulBase)); // Wait until there is data to be read. while(!(HWREG(ulBase + SSI_O_SR) & SSI_SR_RNE)) [ ] SSIDataPut也有同样的问题。 但是API库中也有类似的函数不带这个block功能的,即SSIDataPutNonBlocking, SSIDataGetNonBlocking. Eric - ERIC |
|
|
|
|
|
guigui_7044 发表于 2020-6-19 14:49 谢谢Eric,明白了。那有没有清除FIFO中数据的指令呢?还有就是当使用SSI为主模式时,要接收从设备的数据需要发送空字节,是否可以这样写SSIDataPut(SSI0,0x00)?因为总感觉FIFO中有数据导致读取液晶字库点阵信息存到指定数组中的数据有错误,再通过LCD来显示会显示乱码。 |
|
|
|
|
|
分修一班人 发表于 2020-6-19 15:02 hongyue SSIDataPut(SSI0,0x00)是对FIFO写数据,并非清空。你需要确认乱码原因,包括设置FIFO的level有没有设置对,跟你的数据要匹配等。可以查看一下驱动库的文档,以及SSI的技术手册。相信你会找到解决方法。 Eric - ERIC |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
661 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
587 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1041 浏览 1 评论
720 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
516 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
150浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
115浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
119浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
117浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
159浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 15:20 , Processed in 1.062603 second(s), Total 73, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号