历史上的今天
返回首页

历史上的今天

今天是: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表示芯片是大容量产品。

推荐阅读

史海拾趣

艾谱科(Epticore)公司的发展小趣事

艾谱科公司的创立源于其创始人对电子行业未来发展的独到见解。在21世纪初,随着数字化和智能化技术的飞速发展,创始人意识到电子行业即将迎来一场技术革命。他带领团队深入研究新兴技术,并成功开发出一款具有划时代意义的电子元件——高效能芯片。这款芯片凭借其出色的性能和稳定性,迅速获得了市场的认可,为艾谱科公司的发展奠定了坚实的基础。

G-Two Inc公司的发展小趣事

背景:光伏行业技术迭代迅速,对封装材料的要求也越来越高。

发展:福斯特始终将技术创新作为企业发展的核心驱动力,不断加大研发投入,推出了一系列具有自主知识产权的新产品。例如,公司成功研发出多层共挤型POE胶膜,有效提高了光伏组件的抗PID性能和发电效率。

成果:福斯特的技术创新不仅提升了自身产品的竞争力,也推动了整个光伏行业的技术进步和产业升级。

飞虹(FeiHong)公司的发展小趣事

在稳步发展的同时,苏州锋驰也积极拓展对外合作与投资。公司共对外投资了3家企业,并通过这些投资进一步拓宽了业务范围和市场渠道。这些合作不仅为苏州锋驰带来了更多的技术资源和市场机会,也增强了公司的综合竞争力。同时,公司还积极与上下游企业建立紧密的合作关系,形成了良好的产业生态。

Excellence Optoelectronics Inc公司的发展小趣事

随着LED市场的不断发展,EOI意识到只有不断拓展市场,才能谋求更大的发展空间。因此,公司开始积极开拓国际市场,参加各种国际展会和交流活动,与国际同行建立联系和合作。同时,EOI还注重与国内客户的沟通和合作,了解他们的需求,提供个性化的解决方案。这些努力使得EOI的市场份额不断扩大,公司的业务规模也实现了快速增长。

台湾富晶(FORTUNE)公司的发展小趣事
根据机床的实际工作情况调整触发器的相关参数,如工作频率、触发方式等。
Emhiser Research Inc公司的发展小趣事

Emhiser Research在成立之初就专注于半导体技术的研究。随着市场对更高效能、更小体积的芯片需求的增长,公司研发团队成功开发出了一种新型的高性能低功耗芯片。这一技术突破迅速吸引了众多手机厂商和电子设备制造商的关注。Emhiser抓住这一市场机遇,与多家大型企业建立了合作伙伴关系,其产品迅速在市场上占据了一席之地。

问答坊 | AI 解惑

wince 怎么让添加到NK的dll是没办法复制拷贝的?

如题。就是在*.bib文件下添加dll 属性是SH,(系统隐藏),可是在wince windows目录下是可以copy的,要怎么搞啊。。…

查看全部问答>

WinCE5.0系统加载完之后起不来

WinCE5.0系统加载完之后,屏幕还显示Logo,采用的是研华的嵌入式主板,Flash芯片采用M-System ,硬件驱动都是研华提供以及BSP, 我采用Hive-based注册表方式, [code] [HKEY_LOCAL_MACHINE\\init\\BootVars]   \"SystemHive\"=\"Docume ...…

查看全部问答>

SJF2440不能烧写Nor Flash.

我的SJF2440不能烧写MX 29LV160这个NOR Flash,读不到ID,我检察了发送命令的顺序没有错误.请大家指教.…

查看全部问答>

程序获取wince系统密码

我通过BOOL NTLMSetUserInfo( LPTSTR pszUser, LPTSTR pszPassword )这个函数给系统添加了用户名和密码,请问如何通过过程序来获取这个密码呢?我看了看Ntlmssp.h 这个头文件,好像没有类似NTLMGetUserInfo函数用来获取用户信息的。 …

查看全部问答>

电容的计量单位

电容单位总是忘: 现发一贴子希望记住   这是我找来的: 电容单位换算 电容器Q容量Kvar换算C容值uF公式I=0.314×C×UC=Q / 0.314×U×U Q容量=单位KvarC容值=单位uF1F=1000000μFI为补偿电流,单位为A,式中0.314=2πf/100 ...…

查看全部问答>

STM8用什么调试?有JTAG么?

                                 手册里面说的单线调试接口是用来调试的么?…

查看全部问答>

浅析DIM3517板子的CVBS

为了解决DIM3517的显示问题(因为板子没有代LCD),坛主建议我买一块LCD,最后她可以买回,坛主一片盛情,买一个LCD虽然不贵,但是只用一次的话显得太浪费,不符合一个开发者的做法,寻找廉价方案,另外一个方案:HDMI转AV,因为我的电视机有AV接口 ...…

查看全部问答>

stm32 中断问题

我买的stm32f103zet6最小系统板,在设置中断的时候,发现不论我把外部中断设置在哪个端口,都会在端口A上面反映,比如说我设置PB.2为外部中断, 但写程序的时候,PB.2不会响应中断,而PA.2则会,就算我把A的时钟关了,它也会相应中断。 就相当于 ...…

查看全部问答>

[open1081]摄像头终于工作了

反复折腾,摄像头终于可以工作了。发现1.12版的可以,1.19版的不行。主要区别也就在main.c文件上,用1.12版的main.c文件替换1.19版的也可以工作。对比文件后,发现主要问题在于OV2640_JPEG_Dis()函数,将它从93行的if前移到if语句中就可以了。 ...…

查看全部问答>

win732位安装ccs3.3完成后打开没有烧写插件?哪位大神能帮我解决一下 非常感谢

win732位安装ccs3.3完成后打开没有烧写插件?哪位大神能帮我解决一下  非常感谢…

查看全部问答>