完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我使用PIC32 MZ2048 EFH144,MPLAB X IDE V3.35,XC32编译器和和声V1.08。我想用SPI系列SRAM 23 LC1024来写和读。我能够写数据,但是当我尝试读取时,我只使用PLIbxSPIXBuffRead()读取了0。但是在示波器中,我可以看到SDO行中的输出。谢谢。请在附件中找到示波器和高频快照作为参考。最好的问候,Lavanya。
|
|
相关推荐
4个回答
|
|
我认为您需要将接收缓冲区变量定义为全局变量,因为它不会访问本地函数变量。在app.h中定义接收缓冲区,上面说我有一个问题,它阻止PLIB_SPI_BufferRead()工作(SPI总线读数上没有SPI_Clock信号)。我会写字,但我不会读书。
|
|
|
|
您必须编写而不是读取每个字节。您需要检查标志以确保写入完成和标志确保读取完成。只能将读取堆叠到RX缓冲区中的深度。之后,你必须清空它。如果溢出RX缓冲区,将禁用外围设备。
|
|
|
|
“您必须编写而不是读取每个字节。您需要检查标志以确保写入完成和标志确保读取完成。只能将读取堆叠到RX缓冲区中的深度。之后,你必须清空它。如果溢出RX缓冲区,外围设备将禁用。“我已经这么做了。我向SPI设备PLIB_SPI_BufferWrite()发送一个命令,等待发送缓冲区清空PLIB_SPI_TransmitBufferIsEmpty()。我有一个带有超时的PLIPHSPILIN接收缓冲区()的循环。然后我调用PLIbxSPIXBuffRead()。写命令发送数据,但我从来没有看到数据读取的时钟。我没有使用FIFO,使用主模式,我调用PLIB_SPI_PinEnable(spiID,SPI_PIN_DATA_IN)以确保SPI数据输入被启用。在写/读代码之前,我调用PLIbxSpIsBuffelCuffar()和PLIPySpIsCurruleFultSu水清()。我发送/接收8位(所以没什么复杂的)。我尝试了各种不同的变体,但是不管我做什么,我从来没有看到数据读到SPI总线。我开始怀疑图书馆里有一个故障,或者硅。我在PIC32 MZ1024EGC100控制器上使用SPIX5。
|
|
|
|
我会问清楚:你是否正确切换CS线?是否配置为数字输出?编辑:我的道歉,看来你是基于范围阅读。
|
|
|
|
只有小组成员才能发言,加入小组>>
4832 浏览 9 评论
1836 浏览 8 评论
1755 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
2965 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2064 浏览 5 评论
466浏览 1评论
1117浏览 1评论
279浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
371浏览 0评论
267浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-2 10:12 , Processed in 0.997280 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号