完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,你好,实际上我正在写我的学士论文,用MPLAB X 3.35编程PIC32MZ2048EFG100。我使用两个立体声编解码器将4通道模拟音频转换为PCM音频,并通过I2S传输到MCU。数据将在缓冲区中进行排序,然后保存在USB上。其中一个音频编解码器作为SPI/I2S主控器工作,将时钟(BCLK和LRCLK)发送到另一个音频编解码器以及MCU。工作良好。USB工作也很好。我使用和谐库来集成USB、文件系统等。I2C和SPI/I2S是自我实现的。我的问题:正如我前面提到的,音频编解码器是通过I2C成功配置的。我首先激活了其中之一,主编解码器,以便更好地处理行为。音频编解码器也是如此。通过发送I2S数据,可以测量从主编解码器到从编解码器的BCLK/SCK、LRCLK/SS和SDO信号,但似乎单片机的SPI模块没有100%的初始化。RX缓冲区是空的,虽然我所有的初始化都已经完成,并且有一个连续的时钟和数据信号到达。我检查了SPI设置好几次,尝试了不同的设置,但是似乎没有什么变化。首先我配置端口引脚和清除中断:ions:设置中断:并配置SPI:在外围存储器视图(缓冲区保持空)中观察的实际状态:SPI1STAT0x000000A8我想使用增强缓冲区模式,等待RX缓冲区半满(等待中断),然后读出SPIxBUF。经过仔细读出后,我写USB。提前感谢亚历克斯
|
|
相关推荐
4个回答
|
|
有人……有人吗?你需要更多的信息吗?我想过我的时钟设置,我想知道是否会有什么不同。如果PIC32像SPI从属一样工作,它就会从音频编解码器主控端接收spi时钟。在这种情况下,内部外围时钟和/或参考时钟有什么兴趣吗?不管怎样,他们都被打开了。但是如果MCU是一个奴隶,它是否有特定的时钟频率?例如:越高越好,还是“越接近于I2S BCK”,越好?或者可能是使用IFS3SET或IFS3CR中断的错误?(我使用IFS3BITS SPI1EIF=0;清除)RegardsAlex
|
|
|
|
一个建议是下载和谐,看看样本代码,看看它们是如何设置的。
|
|
|
|
我想我离解决方案越来越近了。读完代码后,启用和禁用一个接一个的代码我发现了一些东西:我在中断启动中禁用了以下代码:IEC3bits.SPI1EIE=1;//EnableInter.IPC27bits.SPI1EIP=1;//Enable PrioIPC27bits.SPI1EIS=1;//EnaSPI缓冲区工作正常,中断也正常工作。(据我所知,这对我来说是令人吃惊的。)在我看来,假设设置这些引脚来启用中断设置是合乎逻辑的。有人知道为什么不应该设置这些启用位吗?这些启用位有什么不对吗?顺便说一下:参考手册中的描述确实比Harmony中的任何描述都更有用,至少如果您想自己实现某些东西。但问题是,你很快就到了不能深入研究功能的地步……或者说我不够聪明/没有经验去深入研究、确定入门和其他东西。但我还是感谢你的回复!
|
|
|
|
几天前,我发现了真正的错误:我一定搞砸了TRIS配置。pin是清除后的输出,而不是输入。我做了相反的事情。我不知道我的上一篇文章是否真的与问题有关,但是可能是二者的结合。
|
|
|
|
只有小组成员才能发言,加入小组>>
5318 浏览 9 评论
2073 浏览 8 评论
1978 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3250 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2286 浏览 5 评论
831浏览 1评论
724浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
670浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
723浏览 0评论
619浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-1 11:00 , Processed in 1.229141 second(s), Total 50, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号