STM32 单片机烧录程序的方式 All In One
STM32 单片机烧录程序的方式 All In One
STM32
F103
C8
MCU 微控制器
MPU 微处理器
https://www.st.com/zh/microcontrollers-microprocessors/stm32f103c8.html
https://www.st.com/zh/microcontrollers-microprocessors/stm32f103.html
烧录方式分类:
ISP
(In-System Programming)
在系统编程,使用引导程序
(Bootloader)加上外围 UART
/SPI
等接口进行烧录;
USB to TTL
ICP
(In-circuit programmer)
在电路编程,使用 SWD
/JTAG
接口;
ST-Link / J-Link
IAP
(In-Application Programming)
指 MCU 可以在系统中获取新代码并对自己重新编程,即用程序
来改变程序。
烧录方式
STLink
仿真器 (SWD
)
serial wire debugging (SWD)
serial wire viewer (SWV)
Virtual COM port (VCP)
STLink V2 仿真器
https://www.st.com/en/development-tools/st-link-v2.html
STLink V3 仿真器 (
$11
) STM32 版本 / stlink-v3minie
STLINK-V3 compact in-circuit debugger and programmer for STM32
STM32
的 STLINK-V3 紧凑型
在线调试器和编程器
https://www.st.com/en/development-tools/stlink-v3minie.html
https://www.mouser.com/new/stmicroelectronics/stm-stlink-v3mini-programmer/
https://www.mouser.com/datasheet/2/389/stlink_v3minie-2953370.pdf
STLINK-V3 仿真器 (
$35
) 全功能版本 (STM32/STM8) / stlink-v3set
STLINK-V3 modular in-circuit debugger and programmer for STM32/STM8
STM32
/STM8
的 STLINK-V3 模块化
在线调试器和编程器
https://www.st.com/en/development-tools/stlink-v3set.html
https://www.mouser.com/new/stmicroelectronics/stm-stlink-v3set-debugger-programmer/
https://www.mouser.com/datasheet/2/389/stlink-v3set-1848688.pdf
stlink-v3-bridge
Software API compatible with the bridge interface of STLINK-V3
兼容 STLINK-V3桥接
接口的软件API
https://www.st.com/en/development-tools/stlink-v3-bridge.html
???
https://www.mouser.com/new/stmicroelectronics/
- USB 转
TTL
串口下载线 (SPI
)
- J-LINK
...
STM32F103C8T6
引脚图解
GPIO 引脚
-
PWM
-
I2C
-
SPI
-
CAN
-
Serial
-
Analog
-
GND
-
3.3V
-
5V
-
RESET
-
Vbat
-
DCLK
DIO
demos
STM32F103C8T6
最小系统版
1、该例程为`GPIO`例程。
2、使用说明
(1)工程文件路径:例程目录\GPIO\MDK-ARM\Project.uvproj。
(2)请使用 `MDK` 4.0以上版本打开, MDK 版本过低会导致无法识别工程。
(3)下载调试工具为 `J-LINK`。
(4)`HEX`文件下载到板子后, `LED`灯闪烁,表明例程运行正确。
3、注意事项
请务必在下载、调试、运行过程中,保持板子`上电`、`J-LINK`连接并插在电脑上。
STM32F103CDE Performance Line Datasheet (Chinese)
https://cdn.xgqfrms.xyz/STM32/STM32F103x8B_DS_CH_V10.pdf
https://drive.google.com/file/d/16t4w6TaQAUgXrTf3Xf1nbXLGieSxY7W9/view?usp=sharing
使用 ChatGPT
自动生成 STM32 LED点亮程序
#include "stm32f4xx.h" // 引入STM32F4系列的头文件
void delay(uint32_t time); // 声明延迟函数
int main(void)
{
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; // 启用GPIOA时钟
GPIOA->MODER |= GPIO_MODER_MODER5_0; // 将引脚A5配置为输出模式
while (1)
{
GPIOA->BSRR = GPIO_BSRR_BS_5; // 置位引脚A5,点亮LED
delay(1000000); // 延时一段时间
GPIOA->BSRR = GPIO_BSRR_BR_5; // 复位引脚A5,熄灭LED
delay(1000000); // 延时一段时间
}
}
void delay(uint32_t time)
{
while (time--);
}
写一个stm32点亮led灯的程序
#include "stm32f4xx.h" // 引入STM32F4系列的头文件
#include "stm32f4xx_gpio.h" // 引入GPIO库的头文件
#include "stm32f4xx_rcc.h" // 引入RCC库的头文件
void delay(uint32_t time); // 声明延迟函数
int main(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 启用GPIOA时钟
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5; // 设置引脚A5
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; // 设置引脚为输出模式
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; // 设置引脚为推挽输出
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; // 设置引脚的输出速度
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; // 设置引脚为无上下拉
GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA
while (1)
{
GPIO_SetBits(GPIOA, GPIO_Pin_5); // 置位引脚A5,点亮LED
delay(1000000); // 延时一段时间
GPIO_ResetBits(GPIOA, GPIO_Pin_5); // 复位引脚A5,熄灭LED
delay(1000000); // 延时一段时间
}
}
void delay(uint32_t time)
{
while (time--);
}
使用标准库写一个stm32点亮led灯的程序
(🐞 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!
STM32F103
系列
https://www.st.com/zh/microcontrollers-microprocessors/stm32f103c8.html
https://www.st.com/zh/microcontrollers-microprocessors/stm32f103.html
STM32CubeIDE
STM32的
集成开发环境
STM32CubeIDE
是一体式多操作系统开发工具
,是STM32Cube
软件生态系统的一部分。
STM32CubeIDE是一种高级C/C++
开发平台,具有STM32微控制器
和微处理器
的外设配置、代码生成、代码编译和调试功能。它基于Eclipse®/CDT™框架和用于开发的GCC工具链,以及用于调试的GDB。它支持集成数以百计的现有插件,正是这些插件使Eclipse® IDE的功能趋于完整。
STM32CubeIDE集成了STM32CubeMX的STM32配置与项目创建功能,以便提供一体化工具体验,并节省安装与开发时间。在通过所选板卡或示例选择一个空的STM32 MCU或MPU,或者预配置微控制器或微处理器之后,将创建项目并生成初始化代码。在开发过程的任何时间,用户均可返回外设或中间件的初始化和配置阶段,并重新生成初始化代码,期间不会影响用户代码。
STM32CubeIDE包含相关构建和堆栈分析仪,能够为用户提供有关项目状态和内存要求的有用信息。
STM32CubeIDE还具有标准和高级调试功能,其中包括CPU内核寄存器、存储器和外设寄存器以及实时变量查看、串行线传输监测器接口或故障分析器的视图。
https://www.st.com/zh/development-tools/stm32cubeide.html#get-software
refs
https://www.cnblogs.com/xgqfrms/p/17412248.html
https://www.bilibili.com/video/BV1uJ411u7GG/
©xgqfrms 2012-2021
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/17414777.html
未经授权禁止转载,违者必究!