历史上的今天
今天是:2025年07月18日(星期五)
2019年07月18日 | STM32CubeMX代码生成和点亮LED
2019-07-18 来源:eefocus
所需工具STM32CubeMX和Keil5
1、先打开STM32CubeMX软件,点击New Project新建工程;

2.在搜索框中搜索你的项目芯片;

3、搜索出来有两个不同封装的芯片,写程序没区别,但是这个软件可以生成IO说明文档,可能会导致文档与实际封装差异。选择确定后双击~;

4、创建完工程,简单介绍一下功能;

5、先配置时钟树,我使用的F429最大支持180M时钟,我配置为最大时钟。


6、我的板子LED是接在PA11上的,在搜索栏上搜索PA11,芯片PA11会一闪一闪的。

7、点击PA11引脚,会出现下面画面,我们选择GPIO_Output

8、当PA11选择作为输出时,外设USB功能会无法使用,软件会通过红色的叉号提示引脚冲突;

9.点击Configuration>>GPIO,进行详细的外设配置。

10.详细参数配置,如下图,完成后点击OK.

11.工程设置,填好工程名、工程路径;最重要的是选择编程工具,如果忘了选可以点击project>>settings重新选择。

12.打开工程,根据你在工程设置中选择的编程工具打开。

13.图片第三点是十分重要,很多新手没注意,以为可以在工程里面随便找个空白的地方就可以写自己的代码,当通过STM32CubeMX重新生成代码的时候,就发现自己辛辛苦苦写的代码没有了,找不回来了,一瞬间回到解放前欲哭无泪(我何尝不是这样过来的,哎...~!)。通过STM32CubeMX生成的模板代码必需按照模板的规范写,打开工程你就看到有很多的地方写着
/* USER CODE BEGIN 2 */
添加自定义代码
/* USER CODE END 2 */
所有的自定义代码一定要放在这中间。避免代码重生成删除,代码添加在BEGIN和END间就好了。
没吃过这种亏的同学可以自己做一下测试,毕竟我说的再多不如自己随便在BEGIN和END外写点代码试试效果。(hahaha...)

14.在main函数的while中添加如下代码:
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); //LED取反
HAL_Delay(1000); //延时1秒
}
/* USER CODE END 3 */
15.请测试,把代码写在BEGIN和END外,如下:
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); //LED取反
HAL_Delay(1000); //延时1秒
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
然后关闭KEIL5;打开STM32CubeMX点击完毕后open project;最后看看while内的代码变化(手动滑稽);
16.赶着下班差点忘了,每次做完一个项目写文档都是一个十分痛苦的过程,可意会不可言传。这个软件可以生成一下我们使用外设的相关信息文档适当减轻我们的压力,嘻嘻...(我也是一个热爱写文档的三好程序员)。




史海拾趣
|
我用的资料是从这下载的:https://bbs.eeworld.com.cn/thread-73210-1-8.html 板子上元件排布基本上也是参照照片上的,只是想在使用时,实验板的电源就用USB的VCC,所以去掉了J2。 烧固件时,用编程器烧的,USBASP板子连接电脑后,绿灯闪烁了三下 ...… 查看全部问答> |
|
详细说明:CPLD实用设计50例,非常经典的CPLD设计,包含50个实际的典型应用,涉及直流电机PWM驱动,编码等内容,有了这50例,举一反三,就会了很多应用 文件列表: CPLD实用设计50例 ................\\基于DSP+CPLD的 ...… 查看全部问答> |
|
如题 类似WINXP下regedit的功能。 我现在编写程序写注册表好像都对,但是读的时候有时返回错误 GetLastError为1814。 我想找个软件看看我写进去的东西对不对。 另外,我把一个键保存在HKLM下 \\\\Drivers\\\\BuiltIn\\\\XXXX目录下, 那么 ...… 查看全部问答> |
|
各位神人好: 我想知道CE 数据库能否自动的将CE数据库中保存的数据插入更新到SQL Server中,并且不影响SQL Server数据库中之前保存的数据。 谢谢啦~我一定给分!… 查看全部问答> |
|
现在用STM32做一个语音到站钟的项目,音质要求不高,就是报“一楼到了,上行”,“二楼是酒店”之类的语音,CPU上资源有PWM/DAC/IIS,通过上网查资料,网上解决的方案大体有以下三种: 1 PWM+SPI PWM模拟时钟时序,SPI传输数据,采用PCM编码 ...… 查看全部问答> |




