你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于HAL库

[复制链接]
黑皮男 提问时间:2015-5-26 11:43 /
对于这个库有些地方不是很清楚,stm32f3xx_hal_rcc.c和stm32f3xx_hal_rcc_ex.c这两个文件有些函数的定义是相同的,只不过在stm32f3xx_hal_rcc.c中的定义前有_weak修饰,为什么会这样。比如_weak HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct),这个函数在rcc.c中的函数体里没有代码实现,而在rcc_ex.c中有具体代码实现,不理解,请大神指教
收藏 评论12 发布时间:2015-5-26 11:43

举报

12个回答
iSine 回答时间:2015-5-26 12:16:58
看下函数上面的说明,有简单介绍函数的说明用途。
moyanming2013 回答时间:2015-5-26 13:37:03
_weak宏表示如果有其他的定义则废弃本定义。
比如在库中有一个定义:_weak void HAL_RCC_OscConfig(),在你自己的.c里面还有一个定义:
void HAL_RCC_OscConfig(),则使用你自己定义的而不是库里的,因为有_weak宏。
如果多个名字相同的只能有一个带有_weak,这就是说同名的定义只能最多有2个。
黑皮男 回答时间:2015-5-26 15:20:41
moyanming2013 发表于 2015-5-26 13:37
_weak宏表示如果有其他的定义则废弃本定义。
比如在库中有一个定义:_weak void HAL_RCC_OscConfig(),在你 ...

非常感谢。
黑皮男 回答时间:2015-5-26 15:20:56
iSine 发表于 2015-5-26 12:16
看下函数上面的说明,有简单介绍函数的说明用途。

同样感谢
为什么是EEFOCUS小白 回答时间:2015-5-27 09:12:26
2楼正解
zzhere2007 回答时间:2015-5-27 09:38:18
路过,看看
逍遥李 回答时间:2015-5-27 09:48:39
这个在“UM1725 User Manual”这个官方文件里面有详细说明,如图:
002.png
001.png
即_.c文件里是一些通用的驱动C文件,而_ex.c里面是一些外设和模块的扩展驱动文件,包含了个别型号或系列的特定API(驱动),另外,如果新的API文件和默认API在程序中执行有冲突,新的API将覆盖默认API;

stary666 回答时间:2015-5-27 09:55:51
学习了。。。。
黑皮男 回答时间:2015-5-27 11:47:28
逍遥李 发表于 2015-5-27 09:48
这个在“UM1725 User Manual”这个官方文件里面有详细说明,如图:

多谢指点
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版