STM32 F103C8T6快速入门教程:使用hal库创建工程(一)三分钟速成指南

    什么,三天后,老师要成品?什么都不会。那ai一下?靠,不能用。那找资料借鉴下?要付费。主播主播,现学标准库确实很强,但是太吃操作了,有没有更加简单又强势的办法。有的兄弟,有的。新手速通,只求能用,不是标准库没有含金量,而是cubeide速通更有性价比。

  1.    下载cubeide

   万事开头难,环境搭建还是太吃操作了,为什么不试试神奇的cubeide 打开下面神奇的小网站

  https://www.st.com/en/development-tools/stm32cubeide.html

 

点击红色小按钮 一般win选择最后一个

点击“Get latest”,弹出“License Agreement”(许可协议)界面,“Accept”

注册号码后下载,登录st可以省略很多麻烦

安装包解压:

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

 选择工作空间

点击launch进入

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

1

1

1

1

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

2

​登录好后,新建工程

等待

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

 起个名字 无脑继续或直接点击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

物联沃分享整理
物联沃-IOTWORD物联网 » STM32 F103C8T6快速入门教程:使用hal库创建工程(一)三分钟速成指南

发表回复