×
单片机 > 其他资讯 > 详情

STM32cubeMX学习记录1-点亮LED

发布时间:2020-07-10 发布时间:
|

一、准备工作:


1、安装STM32cubeMX软件,注意我使用的是5.0版之前的



2、安装keil-ARM软件,注意版本最好是5.2.6以后的


3、准备一个开发板


二、点灯实验(PB5接一个LED灯,低电平灯亮,高电平灯灭)


(后续涉及到多种方式操作的,只讲解一种,追求能实现目的即可)


1、打开STM32cubuMX软件



2、选择左边居中位置的“New Project”进行新建一个工程;


3、先输入开发板上芯片的型号,然后再双击选择实际的芯片封装;



4、晶振RCC设置,根据自己开发板上的情况选择。如图是开发板上的外部HSE和LSE都选择上了。



5、仿真器设置:使用ST-LINK,要在SYS内选择serial wire,同时打开嘀嗒定时器systick。


注意:如果没有选择serial wire,那么用ST-LINK第一次下载程序后就不能下载了,只能通过串口下载其他程序到单片机把程序覆盖才能恢复ST-LINK下载。



6、鼠标可以放在芯片的图片上操作(按住左键可以移动芯片,中间滚轮可以放大缩小,按住右键也可以移动芯片)。在芯片四轴的引脚上,鼠标左键可以选择引脚的功能(输入、输出等),选择完功能后,用右键可以设定引脚的定义,比如LED。选中的引脚会变颜色做区分。这里LED选择PB5,GPIO-OUTPUT


7、时钟树调整,未调整前SYSCLK是8MHz,调整后SYSCLK是72MHz,同时PCLK1要调整为36MHz。


注意:晶振频率可以根据实际情况进行调制



8、引脚设定(其实这里只要设定一个LED的引脚就可以了)


Configuration --System下的GPIO--选中PB5-下面会出现引脚的相关设定(这里设置低电平,推挽输出模式,低速率)



9、项目设定project-setting,设置这个工程的名称LED,存储的地址,保存keil5等等


10、选择Project-Generate code 生成工程文件


11、生成后会跳出提示,点击中间的打开工程(前提是你已经安装的keil-arm软件)



12、打开软件后编译一次,看是否有错误


13、如果输入中文没法显示,则要进入Edit-Configuration-encoding选择chinese GB2312保存即可



14、从程序中的main.c文件中的MX_GPIO_Init();函数可以定位到GPIO的设定,里面有


HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);//输出低电平。所以程序直接下载下去灯就常亮了。


再次追踪HAL_GPIO_WritePin()函数可以找到stm32f1xx_hal_gpio.c文件,里面可以看到很多相关的函数,其中选择三个函数如下:


void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) //可以设定高低电平


比如HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);//输出低电平


       HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);//输出高电平


       void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)//IO口翻转函数


比如HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin)


最后,在stm32f1xx_hal.h文件中有一个延时函数void HAL_Delay(uint32_t Delay);


这几个函数就可以简单的做一个LED闪烁实验了。



15、ST-LINK下载还需要注意几点:


Reset and Run要选择上,下载完开发板才会自动运行。


关键字:STM32cubeMX  学习记录  点亮LED 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
关于汽车系统中整车控制器(VCU)的功能