完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嘿,各位,我又一次需要你们的帮助了!IM测试一个程序,可以存储在25AA1024内存模块。测试程序在读回并将其发送到PC(通过MCP2221)之前,先对变量(i)进行计数,并将加倍的值存储在外部存储器上。但是它总是读回零……现在真正奇怪的是:我试图调试该程序,此时SSP的内容。1BUF被存储到一个临时变量(int d=SSP1BUF;)数据是正确的,如调试器所示,但是在下一步,它是zeroMy oszi告诉我行上的数据完全正确(暂时存在的SSP1BUF的内容也是一个证明imo)。为什么会发生这种情况,解决方案是什么??[/img]
|
|
相关推荐
3个回答
|
|
确保在CLK输出管脚上启用了数字输入缓冲区。当然,和我的问题一样:PIC16F1825 SPI主机只接收零[解决]
|
|
|
|
我马上注意到的一件事是:.(flag==1){SSP1BUF=0b00000101;//read statuswhile(SSP1IF==0);SSP1IF=0;SSP1IF=0;SSP1BUF=0b11111111;//dummy<-----buffer应该不被重新加载..(SSP1IF==0);它接收数据的时间。SSPBUF必须通过读取SSPBUF来清除。您正在做的是加载要发送的数据,等待中断标志,然后尝试加载带有更多数据的完整缓冲区。这可能会导致设置溢出位,从而防止进一步的事务,直到清除溢出位并读取缓冲区为止。相反(这是我使用的):uint8_t SPI_Exchange8bit(uint8_t data){SSPBUF=data;//加载SSPBUF要发送的数据(SSP1STATbits.BF==0)//等待缓冲区从MISO行{.(SSPBUF);//读取并返回SSPBUF值,该值清除缓冲区和BF位}希望如此救命!克里斯
|
|
|
|
非常感谢你的回答!他们非常乐于助人!:)程序没有预期的那样工作,我认为这是许多不愉快情况的组合……可能存在写冲突,阻止了SSP1BUF进一步的写和操作,并且ANSEL设置不正确(输入必须清除),但是t中没有单个词他医生和EEPROM的程序是不正确的。在WREN命令之后必须下拉CS。所以最后只有一件事情可以肯定:MPLAB调试器(至少是变量监视器)没有任何值!我再也不会相信它了!但是,再一次,谢谢大家!:)
|
|
|
|
只有小组成员才能发言,加入小组>>
5171 浏览 9 评论
2001 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3176 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
737浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
635浏览 0评论
533浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 01:47 , Processed in 1.687842 second(s), Total 84, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号