登录/注册

stm32f103c8t6开发板配套程序

stm32f103c8t6开发板配套程序

更多

以下是一个适用于STM32F103C8T6开发板的配套程序示例(基于标准外设库),包含LED闪烁和串口通信功能:

1. 硬件连接

2. 完整代码(main.c)

#include "stm32f10x.h"

// 粗略延时函数
void Delay_ms(uint32_t n) {
    for(; n != 0; n--)
        for(uint32_t i = 0; i < 7200; i++);
}

// USART1初始化(115200波特率)
void USART1_Init(void) {
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;

    // 使能时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);

    // 配置TX(PA9)为推挽输出
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    // 配置RX(PA10)为浮空输入
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    // 配置串口参数
    USART_InitStructure.USART_BaudRate = 115200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
    USART_Init(USART1, &USART_InitStructure);

    USART_Cmd(USART1, ENABLE);
}

// 串口发送字符串
void USART_SendString(USART_TypeDef* USARTx, char *str) {
    while (*str) {
        USART_SendData(USARTx, *str++);
        while (USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);
    }
}

int main(void) {
    // 初始化系统时钟(默认使用内部8MHz RC振荡器)
    SystemInit();

    // 初始化LED(PC13)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_Init(GPIOC, &GPIO_InitStruct);

    // 初始化按键(PA0)
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;  // 上拉输入
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    // 初始化串口
    USART1_Init();
    USART_SendString(USART1, "STM32F103C8T6启动成功!\r\n");

    while(1) {
        // LED闪烁
        GPIO_WriteBit(GPIOC, GPIO_Pin_13, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_13)));

        // 检测按键
        if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == RESET) { // 按下
            USART_SendString(USART1, "按键触发!\r\n");
            while (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0) == RESET); // 等待释放
        }

        Delay_ms(500); // 延时500ms
    }
}

3. 程序功能

  1. LED闪烁:PC13引脚LED每500ms翻转一次
  2. 串口通信
    • 波特率115200
    • 启动时发送欢迎信息
    • 按键按下时发送触发信息
  3. 按键检测:PA0引脚按键(低电平触发)

4. 使用说明

  1. 开发环境:Keil MDK-ARM / STM32CubeIDE
  2. 库依赖:STM32标准外设库(需在工程中包含)
  3. 调试工具
    • 串口助手(查看输出信息)
    • LED状态观察
    • 按键触发测试

5. 常见问题解决

提示:如需使用外部8MHz晶振,需在SystemInit()后配置时钟树,参考库函数SetSysClockTo72()完成配置。

6. 扩展建议

实际开发时请根据具体开发板的原理图调整引脚定义。

用USB转TTL线怎么把程序烧写到stm32f103C8T6

用USB转TTL线怎么把程序烧写到stm32f103C8T6中  将程序烧写到STM3

2024-01-31 15:46:00

stm32f103c8t6怎么连接噪声传感器

(ADC引脚)。 在STM32F103C8T6上配置ADC功能。首先,你需要确定使用哪个ADC通道连接噪声传感器。然后,使用STM32的开发工具

2023-12-21 16:10:05

ch32f103c8t6stm32f103c8t6的区别

ch32f103c8t6与stm32f103c8t6的区别 STM32F103C8T6是一款32位微处理器,属于

2023-08-22 16:05:41

STM32F103C8T6开发板最小系统原理图

电子发烧友网站提供《STM32F103C8T6开发板最小系统原理图》资料免费下载

资料下载 jf_86950612 2025-03-24 09:09:37

STM32F103C8t6程序下载

STM32F103C8t6程序下载

资料下载 golabs 2021-11-24 18:21:06

基于STM32F103C8T6开发板控制的OLED显示

基于STM32F103C8T6开发板控制的OLED显示

资料下载 jameschen1978cw 2021-06-03 09:24:46

STM32F103C8T6核心的资料合集免费下载

本文档的主要内容详细介绍的是STM32F103C8T6核心板的资料合集免费下载包括了:STM32F103C8T6核心

资料下载 浮世漂流 2020-06-04 08:00:00

STM32F103C8T6开发板的电路原理图免费下载

本文档的主要内容详细介绍的是STM32F103C8T6开发板的电路原理图免费下载。

资料下载 佚名 2019-12-24 11:57:00

如何将LCD与STM32F103C8T6 STM32开发板连接并编程

在本教程中,我们将学习如何将16×2 LCD显示器与STM32F103C8T6 STM32开发板连接,并使用Arduino IDE对其进行编程。

2022-11-09 16:18:36

基于STM32F103C8T6开发板的转数计数器设计

基于STM32F103C8T6开发板、霍尔传感器、OLED显示屏制作的转数计数器

2022-02-10 06:46:02

STM32F103C8T6开发板的相关资料推荐

下面列出此课程中涉及的硬件主板及参考的购买链接。可以自行选择店铺购买,只要参数一致即可。1. STM32F103C8T6 开发板https://item.taobao.com/item.htm

2021-12-03 06:35:54

怎样去使用STM32F103C8T6开发板最小系统

怎样去使用STM32F103C8T6开发板最小系统板呢?STM32F103C8T6

2021-10-19 08:15:10

stm32f103c8t6开发板具体流程

STM32单片机.然后,给电脑安装st-link驱动,驱动链接.提取码:5dpc.下一步,st-link和stm32f103c8t6按如下接线:接好线后按下图所示配置Arduino IDE:完成后,将st-link

2021-08-05 07:33:11

怎样用ArduinoIDE对STM32F103C8T6进行编程

STM32F103C8T6板 - 也称为Blue Pill - 是ARM Cortex的开发板M3微控制器。它看起来与Arduino Nano非

2019-07-30 08:42:07

7天热门专题 换一换
相关标签