当前位置:首页 > 单片机 > 单片机
[导读]虽然一直ST用库做实验,但没有进行认真的总结。总是先添加价格文件,然后编译。能通过就完成,通不过就再添加别的文件。今天就一步步来梳理下建立用库工程的步骤。争取做到傻瓜式,让即使完全没用过MDK的人都能使用。

虽然一直ST用库做实验,但没有进行认真的总结。总是先添加价格文件,然后编译。能通过就完成,通不过就再添加别的文件。今天就一步步来梳理下建立用库工程的步骤。争取做到傻瓜式,让即使完全没用过MDK的人都能使用。

第一步:到ST下载标准外设库和演示工程,也可以问卖你开发板的人要。我的库文件是淘宝商给的。可以通过我的百度网盘下载,地址:

【http://pan.baidu.com/share/link?shareid=497853&uk=3087328531】

下载后解压缩即可。此时可以进入各个目录简单熟悉下外设库里边的东西

第二步,建立MDK工程

打开MDK程序,会自动打开上次的工程。我们关掉它,然后再新建我们自己的工程:

这时会弹出创建工程对话框,选择要保存的位置,然后选择你的MCU。

这里我建立的是一个使用Tim定时器的工程,工程文件名为TIM。使用的MVU为STM32F4VG。昨晚这些选择点击就会弹出对话框,询问是否要将STM32F4系列MCU的启动文件复制到工程文件夹,点击确认让复制到咱们的工程文件夹里边。

这是我们就可以看到我们新建的工程了。

组织工程目录:

工程目录与实际文件目录没有必然的对应关系。我们可以根据自己需要添加。

这里我定义的几个目录:user,存放主函数和一些功能函数。board:自己写的外设初始化和外设应用,periph存放ST标准外设库

第三步,添加外设库到工程【重点】

在第一步中解压后的文件夹中,进入STM32F4-Discovery_FW_V1.1.0ProjectPeripheral_Examples中。这里存放的是ST标准库的例程。我们需要在这里复制几个文件到我们的工程中。

进入任一一个工程文件夹,我使用的是ADC3_DMA。找到以下几个文件,将其复制到我们的工程中去:

stm32f4xx_conf.h stm32f4xx_it.c stm32f4xx_it.h system_stm32f4xx.c

其中system_stm32f4xx.c中定义了一些时钟初始化的函数,在刚才向工程中添加的启动文件会调用这里的函数。

添加完这些文件之后,开始设置工程选项,在Project窗口中选择Target1之后在Project菜单中调出工程属性对话框:

先勾选这个:

打开C/C++选项卡

这里要可以将外设库的inc文件夹、存放board目录中文件文件夹、还有组工程目录文件夹加入。

我加入玩引用的最终效果:

点击OK退出即可。

之后我们就可以向工程中添加外设库文件了。添加文件跟刚才的组织工程目录一样,点击addfile,会弹出添加文件对话框。

在右边对话框中定位到在刚才解压缩的文件夹中:STM32F4xx_StdPeriph_lib v1.0.2STM32F4xx_StdPeriph_Driversrc

选择需要的文件即可。因为我需要使用tim定时器,做PWM输出实验。所以除了tim库还要添加GPIO库。

此外misc.c文件是所有工程都要添加的,rcc库是定义时钟所必需的,也一并将其添加到工程中。

第四步:添加主函数文件

File-》new save 文件名可随意,后缀必需为.c。我命名为main.c

在main.c中添加主函数定义和对公共头文件stm32f4xx_conf.h的引用。stm32f4xx_conf.h包含了对所有的外设库的引用。


#include "stm32f4xx_conf.h"

int main()
{
while(1);
}

保存之后,利用上边的方法将这个文件添加到工程的user目录中。

最后的工程目录结构是这样的:

此时,如果安键盘上的F5进行编译的话会报一堆错误:Undefined symbol assert_param

这是因为我们还缺少一个红定义,库文件里边的一些条件编译选项需要这个定义才能用。我们打开工程属性菜单,重新定位到C/C++选项卡。添加宏定义:USE_STDPERIPH_DRIVER,

重新编译即可。

到此工程建立完毕。如果你还需要用到别的外设,只要将外设库文件加入到工程中即可。

调试,编译,设置仿真器等部分不做介绍。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭