完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我已经工作了三天试图弄清楚HARMony如何进行SPI。我有一个FM25CL64B和一个SST25VF080B,共享PIC32MX450F256H上的SPI2,还有一个Harmony 1.06上的SPI2。Help第2579页上的代码示例完全没有价值,而且是错误的。Ii是错误的结构。它有一个while循环,从来不调用SPI任务。人们希望代码示例遵循上一页(2578)中的框图。然后尝试编译,这段代码有一个错误:我搜索了项目,实现了DRV_SPI_PolledDMAMasterSendEventHandler8bit和DRV_SPI_PolledDMAMasterReceiveEventHandler8bit没有任何定义。因此,我在和谐帮助中搜索字符串“sendDMAHander”(也搜索“sendDMAHandler”),但是没有字符串的实例在帮助中。试过“receiveDMAHander”、“DMAHander”、“Hander”在帮助文档中没有匹配。因此我选择代码,因为有时代码中有文档。我发现在drv_spi_..h中定义它的位置,代码行如下:我也是。所以看起来我不必为这个外围设备使用和谐。我有一个实时进程,不能让中断接管一切,所以我不能运行SPI,一个中断以大约20MHz发送1024数据块,即使优先级最低。如果我纯粹轮询,我会填满缓冲器,在我重新装满它之前,它将被清空10X。DMA是完美的解决方案——速度快,而且在后台出现。这是非常令人沮丧的家伙。
|
|
相关推荐
3个回答
|
|
嗨,Kipton,这似乎是一种情况,学习Hell Harmony代表你做什么所需的开销远远高于仅仅获取数据表并直接与感兴趣的SPI和DMA通道的控制寄存器交互。如果您稍后想要将其移动到另一个SPI端口或DMA信道,那么它可能不够“灵活”,但是如果/当Harmony走到生命尽头时,它就更加灵活了。第二信道接收并丢弃输出。这是在PIC32MZ目标上,因此我不得不担心缓存,而在PIC32MX上,您不必-您必须检查特定设备上的DMA控制器是否能一次完成1024个字节,因为MX家族中的一些设备对每个事务的限制是65536字节。而另一些在256字节左右:需要注意的是:1)代码假定SPI在增强缓冲模式下操作。我有点偏执于在操作之前耗尽RX缓冲区,这些可能甚至都不是必需的,但无论如何,它们都在那里以防万一。这是在调用该函数之前完成的,并且在函数返回之后解除断言。我在FreeRTOS下运行它,所以一个信号量会空闲地执行此任务,并告诉OS切换到另一个任务,直到信号量准备好为止(在事务完成时设置到DMA ISR处理程序中)——您必须通过在DMA ISR中设置一个标志来调整它,以便在您的环境中工作,或者某物。下面是我的DMA1 ISR处理程序,在这里您可以看到更多您想要替换的自由RTOS内容:现在,这里有一个关于在PIC32MZ上执行此操作的特别说明——当涉及DMA时,您必须担心缓存,除非*buff指向的内存被声明为连贯的(生活在未连接的spa中)。我已经连接了SysDeViNoPIC32 MZ.C和SysIDEVCONYCaseEXPIC32 MZ,因为它们太大而不能内联。请注意,上面我认为如果buff甚至与uint32边界对齐,实际上并不重要——我认为调用应该仍然命中正确的缓存行。祝你好运。
SysDeVoNixPIC32 MZ C(12.38 KB)-下载316次 |
|
|
|
PIC32 MZ中的DMA引擎看起来非常相似(完全一样)?正如在高端PIC32 MX设备中发现的那样,上面的代码是针对PIC32 MZ目标的,我记得在从MX目标转换它时,我真的不需要改变任何实质性的东西。D由Aschen的和谐)做DMA复制,所以你应该很好去那里。
|
|
|
|
嗨,我刚刚使用了Harmony(TCIP_TCP_CLIENT)的一个例子,它具有配置(PIC32MX ESK2+PIC32 I/O扩展板+快速以太网pictail+使用基于外部SPI的ENC424J600,它使用SPI+DMA作为RX&TX包缓冲区
|
|
|
|
只有小组成员才能发言,加入小组>>
5303 浏览 9 评论
2065 浏览 8 评论
1972 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3239 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2279 浏览 5 评论
827浏览 1评论
715浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
663浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
716浏览 0评论
615浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 08:03 , Processed in 0.962679 second(s), Total 48, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号