STM32 F103C8T6快速入门教程:使用hal库创建工程(一)三分钟速成指南
什么,三天后,老师要成品?什么都不会。那ai一下?靠,不能用。那找资料借鉴下?要付费。主播主播,现学标准库确实很强,但是太吃操作了,有没有更加简单又强势的办法。有的兄弟,有的。新手速通,只求能用,不是标准库没有含金量,而是cubeide速通更有性价比。
- 下载cubeide
万事开头难,环境搭建还是太吃操作了,为什么不试试神奇的cubeide 打开下面神奇的小网站
https://www.st.com/en/development-tools/stm32cubeide.html

点击红色小按钮
一般win选择最后一个
点击“Get latest”,弹出“License Agreement”(许可协议)界面,“Accept”
注册号码后下载,登录st可以省略很多麻烦

安装包解压:


点开软件,browse选择工作空间,可以把要做的文件放在工作空间里,
选择工作空间

点击launch进入

在软件顶部的菜单栏,按图片指示打开登录页面登录




一定要复制密码!手打输入容易锁号

登录好后,新建工程
等待

打开选择界面后输入法切换为英文(中文打字母有概率两个字母)

起个名字 无脑继续或直接点击Finish
看到图形化界面的话就开始正式咱们的项目吧
首先选择sys的烧录,保证我们烧录程序后下次烧录可以正常使用
在嵌入式开发中,经常会使用到各种外设,比如定时器、串口、GPIO 等。为了方便管理和使用这些外设的初始化代码,很多开发工具或代码生成器提供了这样的选项。生成的 “.c” 文件一般包含具体的初始化函数实现、变量定义等代码逻辑;“.h” 文件通常用于声明函数原型、定义相关宏和结构体等,方便其他源文件引用和调用这些外设初始化相关的功能 ,有助于代码的模块化和复用。
时钟配置,微控制器内部的各个模块,如 CPU 内核、外设(GPIO、ADC、SPI 等 )都需要在合适的时钟信号驱动下才能正常工作。时钟信号就像整个系统的 “节拍器”,为各个部件的运行提供准确的时间基准,确保指令执行、数据传输等操作按顺序、按时序进行。先打开高速时钟
直接拉满,改成72Mhz

然后切回pinout界面,选择pc13 output


切换到 C/C++ 开发视角,以适配相关开发任务
出现有代码的窗口
有gpio.h
然后开始烧录,首先更新固件库

在CubeIDE里点击Help -> ST-Link Upgrade,出现下面的画面。,不过ST-LINK在更新的时候不要接开发板。

更新好后连接开发板
| ST-Link | stm32f103 |
| 3.3V | 3.3V |
| SWCLK | swclk |
| SWDIO | swio |
| GND | GND |
stm32f103c8t6自带一个led 接端口PC13,因为有MX_GPIO_Init();,所以不需要像标准库一样自己搭建,唯一需要注意的是自己写的代码要放在
/* USER CODE BEGIN */
/* USER CODE END */
之间,这样可以让代码从图形化到代码界面的时候不被删除

我们先进行最简单的闪烁led,让芯片输出低电平,让led有电流通过,就可以点亮led了,图中画圈的部分是led pc13的原理图,可以看出led本身接了一个高电平,只要芯片输出低电平即可

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(1500);
// 熄灭LED(PC13输出高电平)
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
HAL_Delay(500);
编译 运行
烧录成功,开发板自带led开始闪烁
接下来就可以开始写各种代码了
未完待续
作者:bin384