网页设计比较好的网站,网站备案信息批量查询,ai智能ppt制作,网站源码怎么做网站一、keil下载
参考视频#xff1a;Keil5安装教程视频 (全套资料51和32皆可用Keil5编译设置)_哔哩哔哩_bilibili
视频内容包括下载链接、安装教程、库导入#xff0c;非常详细#xff01;
二、新建工程
2.1.使用stm32CubeMX新建工程
10. 使用STM32CubeMX新建工程 — [野…一、keil下载
参考视频Keil5安装教程视频 (全套资料51和32皆可用Keil5编译设置)_哔哩哔哩_bilibili
视频内容包括下载链接、安装教程、库导入非常详细
二、新建工程
2.1.使用stm32CubeMX新建工程
10. 使用STM32CubeMX新建工程 — [野火]STM32 HAL库开发实战指南—基于F103-MINI 文档
2.2.手动新建工程
在Keil MDK 5里面直接创建使用HAL库的STM32工程的方法不使用STM32CubeMX_hal库开发必须用cubemax吗-CSDN博客
这里我为了练手尝试了手动创建工程遇到的问题及解决如下
问题解决重定义 Symbol HAL_InitTick multiply defined 两种选择 1.把重定义代码的其中一份注释掉 2.把其中一份文件删除要确保两个文件功能绝对重复或者不会再使用 “xxxx.h“ file not found’Project - Option-C/C-Include Paths,添加提示缺失的文件所在路径asm function is nonstandard在Project - Target Option --C/C中取消strict ANSI C选项Please select first the target STM32F1xx device used in your application Project - Target Option - C/C -- Define一栏中添加提示错误对应的宏定义LSI_STARTUP_TIME is undefined官方的HAL库可能有多个版本找一个有该宏定义的版本取尽可能接近当前版本的文件替换相应文件即可
三、stlinkv2使用
3.1.驱动下载和烧录器固件更新
ST-Link驱动的下载、安装、配置以及ST-Link固件的升级_stlink驱动-CSDN博客
这篇文章写的很清楚注意每个步骤都不能漏我一开始以为下载了官网最新驱动就不需要下载驱动升级结果stlink连接失败。推测这个驱动升级是把驱动升级到stlink固件里而不是升级PC端的驱动
3.2.烧录器连线
8. stm32最小系统板与stlink调试器之间的接线_哔哩哔哩_bilibili
这个视频详细但也啰嗦对自己连线不自信的时候可以仔细比对视频的做法。 四、面包板的使用
基础的使用这个视频讲的很详细 电子电路入门面包板保姆级使用教程_哔哩哔哩_bilibili 五、LED电路与代码
直接上图讲我的电路接法。 开发板有STLINK供电需要将开发板的3.3V和GND连接到面包板的公共正极和公共负极以给其他器件供电这里LED的阳极插在面包板的公共正极阴极插在PA0引脚上通过控制PA0的电平高低决定LED的亮灭。
下面是实例代码
#include stm32f1xx_hal_gpio.h
#include stm32f1xx_hal_rcc.h
#include stm32f1xx_hal.h
#include main.h/* LED GPIO配置宏定义 */
#define LED_GPIO_PORT GPIOA
#define LED_GPIO_MODE GPIO_MODE_OUTPUT_PP
#define LED_GPIO_PIN GPIO_PIN_0
#define LED_GPIO_PULL GPIO_PULLUP
#define LED_GPIO_SPEED GPIO_SPEED_FREQ_HIGH/* GPIO初始化函数 */
void GpioInit(void)
{GPIO_InitTypeDef tGpioInit;// 使能GPIOA时钟__HAL_RCC_GPIOA_CLK_ENABLE();// 推挽输出模式, 既可以输出高电平也可以输出低电平tGpioInit.Mode LED_GPIO_MODE;tGpioInit.Pull LED_GPIO_PULL;tGpioInit.Speed LED_GPIO_SPEED;tGpioInit.Pin LED_GPIO_PIN;HAL_GPIO_Init(LED_GPIO_PORT, tGpioInit);return ;
}/* LED闪烁 */
void ToggleTestLed(void)
{HAL_GPIO_TogglePin(LED_GPIO_PORT, LED_GPIO_PIN);HAL_Delay(20);
}/* 主函数 */
int main(void)
{GpioInit();while (1){ToggleTestLed();}}