完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有多个项目使用相同的代码但使用不同的处理器 (STM32F4xx)。为了尝试解决常见的代码问题,我创建了一个静态库,其中包含 HAL 驱动程序代码,每个处理器的主要应用程序都链接到该库。
现在由于某种原因 I2C 和 SPI 没有正确初始化。例如 I2C,它将进入 HAL_I2C_Init 函数,但当它尝试设置结构属性“instance”时,它总是被设置为 0。它应该设置为 788 的值,但它永远不起作用。我试图在调试模式下设置它,但它总是回到 0。 我知道这段代码在我将代码分离到一个库之前工作得很好,当它全部在一个项目中时它工作得很好没有问题。结构“实例”属性将被正确设置。 有没有人成功地将 HAL 库分离成静态库?有 I2C 或 SPI 等工作吗? |
|
相关推荐
1个回答
|
|
问题解决了。不是最好的方式,但它已解决。它只是将 stm32f4xx_hal_msp.c 文件从库移动到主项目中,出于某种原因,在 HAL_I2C_Init 函数中它看不到 stm32f4xx_hal_msp.c 中 HAL_I2C_MspInit() 的覆盖函数。
如果有更多对多处理器库或项目的支持,那就太好了。我完成它的方式有效并且没有问题,只需要一些“陷阱”或手动步骤,特别是如果重新生成代码。如果 STM 提供更多支持以允许在 STM32CubeIDE 中实现这一点,那么在同一系列处理器中管理具有不同硬件的多个项目将会变得更加容易。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2644 浏览 1 评论
3209 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1784 浏览 1 评论
3613 浏览 6 评论
5990 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 23:15 , Processed in 1.107266 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号