xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

STM32 单片机烧录程序的方式 All In One

STM32 单片机烧录程序的方式 All In One

STM32F103C8

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 可以在系统中获取新代码并对自己重新编程,即用程序来改变程序。

烧录方式

  1. STLink 仿真器 (SWD)

serial wire debugging (SWD)
serial wire viewer (SWV)
Virtual COM port (VCP)

image

STLink V2 仿真器

image

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 紧凑型在线调试器和编程器

image

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

https://mou.sr/3Wso6Vq

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 模块化在线调试器和编程器

image

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

https://mou.sr/3JQ0XrM

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/

image

  1. USB 转 TTL 串口下载线 (SPI)

image

  1. 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点亮程序

https://chat.openai.com/

#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系列

image

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

image

https://www.bilibili.com/video/BV1uJ411u7GG/



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @ 2023-05-19 12:12  xgqfrms  阅读(541)  评论(3编辑  收藏  举报