完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嘿,我正在尝试与PIC24FJ64 GA102接口25LC040。我不能写信给EEPROM。我可以在CRO上看到SCLK和SDO。但是当我使用总线盗版读取EEPROM时,我得到默认值(0xFF)。
|
|
相关推荐
6个回答
|
|
嗯,如果你不打算使用它们,我不会启用中断,而且会使用PPS.H宏重新映射。除了这些,我不确定你的命令序列。
|
|
|
|
我不知道你的“WriteSPI1”函数里面发生了什么,但是如果在写完之前它不被阻塞,那么你很快就会提升CS行。我假设所有的时间限制都被满足——有很多东西你没有给我们看。苏珊
|
|
|
|
苏珊,我把整个节目都包括在内了。WriteSPI()是在spi.h中定义的。我认为它是XC16附带的标准库。SPITBF位只有在传输完成时才被清除。所以我认为只有当传输完成时,CS才被拔起。而且,在调试时,SPIBUF寄存器中没有数据出现,并且SPITBF位仍然不清楚,因此执行不会经过.(SPI1STATbits.SPITBF)。但是,当我从调试模式释放控制器时,我在CRO上获得数据和时钟线,因此我假设当不处于调试模式时,整个代码被执行。
|
|
|
|
使用调试器观察写入SPIBUF寄存器的数据是不可能的。它只能执行您自己的程序能够执行的操作,即从相同的地址读取RECEIVED数据,而不能执行写入的内容。
|
|
|
|
我现在很困惑。我想我错过了一个基本点。:(。如果我说正确,因为SPIXTXB和SPIXRXB共享相同的SFR地址,我就不能阅读内容了吗?我不能完全理解你的陈述:“它只能做你自己的程序能做的事情,即从同一个地址读取RECEIVED数据,而不是写入数据。”“内存映射寄存器SPIxBUF是SPIx数据接收/发送寄存器。在标准模式中,SPIxBUF寄存器实际上由两个独立的寄存器组成:发送缓冲区SPIxTXB和接收缓冲区SPIxRXB。这两个单向的、16位寄存器共享SPIXBUF的SIFR地址。如果用户将要传输到SPIXBUF地址的数据写入内部,则将数据写入SPIXTXB寄存器。类似地,当用户从SPIxBUF读取receiveddata时,在内部数据是从SPIxRXB寄存器读取的。
|
|
|
|
确切地!您引用的数据表部分说明了同样的事情。您可以写到发送缓冲区,并从接收缓冲区读取。您不能从发送缓冲区读取。调试器也不能。它没有任何特殊的“后门”访问寄存器,它只能读取你的代码可以。
|
|
|
|
只有小组成员才能发言,加入小组>>
5244 浏览 9 评论
2035 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3214 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2261 浏览 5 评论
781浏览 1评论
676浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
602浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
684浏览 0评论
581浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 09:15 , Processed in 1.456118 second(s), Total 87, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号