历史上的今天
今天是:2025年01月17日(星期五)
2019年01月17日 | STM32F10xxx_Keil中添加的预定义宏
2019-01-17 来源:eefocus
文章目录
更新记录
Use Standard Peripheral Driver
更新记录
versionstatusdescriptiondateauthor
V1.0CCreate Document2018.10.15John Wan
status:
C―― Create,
A—— Add,
M—— Modify,
D—— Delete。
Use Standard Peripheral Driver
在Keil MDK环境中使用STM32固件库建立工程时,可能会遇到编译不通过的问题。出现如下警告或错误提示:
warning:#223-D:function"assert_param"declaredimplicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
这时候我们需要在设置面板的“TargetOptions”中“C/C++”选项卡添加USE_STDPERIPH_DRIVER. STM32F10X_HD。这样才能使编顺利通过。
知其然了,我们还得知其所以然。下面就一一道来。我们知道,程序的执行是从main.c文件开始的,其中必须包含有头文件stm32f10x.h。打开stm32f10x.h,查找USE_STDPERIPH_DRIVER,在第8296-8298行找到
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
这段代码的意思是,只有定义了USE_STDPERIPH_DRIVER,才包含stm32f10x_conf.h,从而被main.c用到。那么stm32f10x_conf.h的作用是什么呢?它相当于一个总的开关文件,如果要用到STM32固件库驱动标准外设,则外设驱动头文件是必不可少的,如stm32f10x_gpio.h等。而这些文件的添加都是在stm32f10x_conf.h中进行。
而在Keil MDK的面板添加USE_STDPERIPH_DRIVER,其实就是Keil方式的全局定义,从而使stm32f10x.h文件包含stm32f10x_conf.h文件。
同样的Keil MDK面板中的STM32F10X_HD是定义芯片的类型,HD表示芯片是大容量产品。
史海拾趣
|
如题。就是在*.bib文件下添加dll 属性是SH,(系统隐藏),可是在wince windows目录下是可以copy的,要怎么搞啊。。… 查看全部问答> |
|
WinCE5.0系统加载完之后,屏幕还显示Logo,采用的是研华的嵌入式主板,Flash芯片采用M-System ,硬件驱动都是研华提供以及BSP, 我采用Hive-based注册表方式, [code] [HKEY_LOCAL_MACHINE\\init\\BootVars] \"SystemHive\"=\"Docume ...… 查看全部问答> |
|
我通过BOOL NTLMSetUserInfo( LPTSTR pszUser, LPTSTR pszPassword )这个函数给系统添加了用户名和密码,请问如何通过过程序来获取这个密码呢?我看了看Ntlmssp.h 这个头文件,好像没有类似NTLMGetUserInfo函数用来获取用户信息的。 … 查看全部问答> |
|
为了解决DIM3517的显示问题(因为板子没有代LCD),坛主建议我买一块LCD,最后她可以买回,坛主一片盛情,买一个LCD虽然不贵,但是只用一次的话显得太浪费,不符合一个开发者的做法,寻找廉价方案,另外一个方案:HDMI转AV,因为我的电视机有AV接口 ...… 查看全部问答> |
|
我买的stm32f103zet6最小系统板,在设置中断的时候,发现不论我把外部中断设置在哪个端口,都会在端口A上面反映,比如说我设置PB.2为外部中断, 但写程序的时候,PB.2不会响应中断,而PA.2则会,就算我把A的时钟关了,它也会相应中断。 就相当于 ...… 查看全部问答> |
|
反复折腾,摄像头终于可以工作了。发现1.12版的可以,1.19版的不行。主要区别也就在main.c文件上,用1.12版的main.c文件替换1.19版的也可以工作。对比文件后,发现主要问题在于OV2640_JPEG_Dis()函数,将它从93行的if前移到if语句中就可以了。 ...… 查看全部问答> |




