完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个业余爱好项目,希望使用 STM32H745 微控制器设计飞行控制器。我的计划是使用 M4 内核进行数据采集,同时使用 M7 进行飞行控制。我有一个带有通过 SPI、I2C 和 UART 连接的传感器的定制 PCB。我正在尝试为所有这些外围设备设置 DMA。
但是,可以肯定地说,这个 MCU 比我以前使用过的东西要复杂得多。我已经为 UART 设置了 DMA,效果很好。但我现在似乎无法让 SPI DMA 在 M4 上工作。我已经使用不带 DMA 的 M7 内核编写了一个驱动程序并且工作正常,但到目前为止我在另一个芯片上一直没有成功。 我只是有几个问题可以帮助我澄清一些事情:
我已经开了两个星期的支持票,但我没有得到任何回报。如果有人能帮我解决这个问题,我将不胜感激。 |
|
相关推荐
1个回答
|
|
CM4 没有缓存,因此您不必担心。如果变量被中断修改或被 DMA 填充,您仍然需要将变量设置为 volatile。
CM4 和 CM7 内核都可以访问 SRAM1-4 存储器。将指向共享结构的指针放在那里并以这种方式传输信息。您需要在 CM7 端管理缓存。 > HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET); > HAL_SPI_TransmitReceive_DMA(&hspi1, SerialData, (uint8_t*)aRxBuffer, 3); > HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET); 如果 PA4 是您的 CS 线,这将在传输完成之前提高 CS。您应该改为在传输完成回调中提高 PA4。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2632 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3607 浏览 6 评论
5987 浏览 21 评论
939浏览 4评论
1315浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
582浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1302浏览 3评论
1357浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 08:37 , Processed in 1.259001 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号