完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
下载并安装CubeMX
前去ST意法半导体的官网,搜索CubeMX,或者直接点击下载CubeMX,进入网站后点击获取软件,如下图。 接着会跳出许可条件,选择许可,接着随便输入您的姓名,但是一定要写好自己的邮箱。 之后你的邮箱中会收到一封下载链接的邮件,如下图。点击立即下载。 之后您就能开始下载了,下载完、安装完之后,打开软件。第一步我们不能急着创建工程,因为CubeMX使用的是STM32的HAL库,我们要先添加最新的HAL库资源到CubeMX。点击主界面右边第三栏的INSTALL/REMOVE,因为小编使用F1和F4居多,所以我安装了F1和F4的package,大家可以按照自己的需求安装需要的package,如下图。 创建工程 做好前面的准备工作之后,您就可以开始创建工程了。这里呢,小编做一个简单的示范。小编打算做一个基于F103C8T6芯片的LED点亮程序,使用KEILv5(ARM MDK)进行编译和下载。 CubeMX是可以基于ST官方的开发板直接创建相应的工程的,只要点击中间那栏的第二个按钮ACCESS TO BOARD SELECTOR。由于小编没有足够的钱买ST的板卡,所以我们只能选择第一个按钮ACCESS TO MCU SELETOR。选择1.999美刀的传奇芯片C8T6。该芯片能够达到72Mhz的最高频率!超过某国产51数倍!引脚数48!拥有37个可编程I/O!拥有20K的RAM和64K的FLASH!拥有TIM1~5,5个定时器!…… 圆规正转,进入界面后,我们开始分配引脚。根据已有经验,我们要现在图形上根据原理图把要用到的引脚确定,确定的意思就是每个引脚都要有大头钉固定,代表是用户自己定义的I/O脚,左边某些片内资源就会有感叹号,表示该设备部分功能不能使用,如果显示红叉,则表示该设备所有功能都不能使用。 这样做的好处,如果先在左边使能设备资源,那么它会使能在默认的I/O,如果需要的却是重映射的I/O,那么还是要重新设置。 第一步,安排引脚。根据我使用的开发板原理图,设置LED0的I/O为PB0,在User Label中自定义名字为LED0,因为只是LED,其余设置不用更改。 第二步,设置SW。因为小编使用STlink进行烧录,所以在SYS中的Debug选择使用SW。启用后可以看见SWDIO(PA13)和SWCLK(PA14)变绿。 第三步,设置外部晶振。小编使用外部8M的晶振,但是CubeMX默认使用内部晶振,内部晶振不如外部晶振稳定,所以这也要修改一下。在RCC中设置HSE为晶振。启用后可以看到OSC(PD0、PD1)的两个脚变绿。 第四步,设置时钟树。CubeMX中默认系统频率很低,必须要改。首先在PLL中选择外部晶振,不然之前设置了也没用了。将系统主频设置成72Mhz,回车后,它会自动计算倍频系数。如果有自定义的部分,还可以在时钟树上进行修改。 第五步,修改文件设置。设置文件名和文件路径。注意注意注意,文件名和路径必须是全英文,选择IDE为ARM_MDK。如果习惯之前某子的.c和.h文件格式,可以把文件分开成一对.c和.h选项打开,这样就会生成gpio.c和gpio.h了。 第六步,生成代码。点击右上角GENERATE CODE生成代码。 生成的代码有四个文件夹和CubeMX的工程文件,如果还有需要添加或者修改,可以通过工程文件进行修改,用户的代码写在所有Begin和End之间,或者另添.c.h文件。写在其余地方的都会因为再一次生成代码而清除。 第一个文件主要是各种芯片的startup文件和HAL库文件;Src和Inc中分别是CubeMX生成的.c和.h文件;MDK_ARM相当于某子的USER,里面是keil工程文件。 编译与烧录 在main.c的主循环/* USER CODE END WHILE */之前 写入 HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET); 之后就可以build了 设置一下STlink,勾选Reset and Run,烧录即可。 CubeMX就是这么简单,好用。对生成的代码只需要写自己的逻辑代码就可以了,不需要再去单独配置引脚和外设了。 关于Cube创建的代码文件结构,且听下次分解。 |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1078浏览 3评论
558浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
551浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2286浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 14:37 , Processed in 0.945125 second(s), Total 47, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号