【硬件基础】STM32F103C8T6芯片引脚定义及功能介绍

STM32F103C8T6是意法半导体(STMicroelectronics)推出的一款基于ARM Cortex-M3内核的32位微控制器,具有丰富的外设接口和强大的处理能力。本文将详细介绍STM32F103C8T6芯片的引脚定义及其功能。

一、芯片概述

STM32F103C8T6采用LQFP48封装,具有以下主要特性:

  • 基于ARM Cortex-M3内核,最高主频可达72MHz。
  • 内置64KB Flash存储器和20KB SRAM。
  • 丰富的外设接口,包括多个通用定时器、串行通信接口、模拟数字转换器等。
  • 支持多种低功耗模式,适用于电池供电的应用。
  • 支持JTAG和SWD调试接口。

二、引脚定义图

STM32F103C8T6的引脚定义图如下所示:

三、引脚功能介绍

以下是STM32F103C8T6的主要引脚功能:

  1. 电源引脚

    • VBAT:备用电源引脚,当系统断电时,备用电源可给内部的RTC时钟和备份寄存器供电。
    • VDD和VSS:分别为供电和地引脚,通常VDD接3.3V,VSS接地。
  2. 时钟引脚

    • HSE_IN和HSE_OUT:外部高速时钟输入和输出引脚,用于连接外部晶振。
    • LSE_IN和LSE_OUT:外部低速时钟输入和输出引脚,通常用于RTC时钟。
  3. 复位引脚

    • NRST:复位引脚,通过该引脚可以对芯片进行复位操作。
  4. I/O引脚

    • PA0-PA15:16个通用I/O引脚,可用于输入/输出、外部中断、模拟输入等。
    • PB0-PB15:16个通用I/O引脚,同样可用于多种功能。
    • PC13-PC15:3个通用I/O引脚,可用于输入/输出、外部中断等。
    • PD0-PD2:3个通用I/O引脚,可用于输入/输出、外部中断等。
    • PE0-PE5:6个通用I/O引脚,可用于输入/输出、外部中断等。
    • PF0-PF1:2个通用I/O引脚,可用于输入/输出、外部中断等。
  5. 调试接口

    • PA13(JTMS/SWDIO)和PA14(JTCK/SWCLK):JTAG和SWD调试接口,用于芯片的调试和编程。
  6. 通信接口

    • PA9/PA10:USART1的TX/RX引脚,用于串行通信。
    • PA2/PA3:USART2的TX/RX引脚。
    • PB10/PB11:I2C2的SCL/SDA引脚,用于I2C通信。
    • PA4-PA7,PB0-PB1:用于ADC模数转换器的模拟输入引脚。

四、代码示例

以下是使用STM32F103C8T6的GPIO引脚控制LED灯的示例代码:

c 复制代码
#include "stm32f10x.h"

void GPIO_Configuration(void) {
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 使能GPIOA时钟

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; // 选择PA5引脚
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 输出速度为50MHz
    GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化GPIOA
}

int main(void) {
    GPIO_Configuration(); // 配置GPIO

    while(1) {
        GPIO_SetBits(GPIOA, GPIO_Pin_5); // PA5输出高电平,LED亮
        for(volatile uint32_t i = 0; i < 500000; i++); // 延时
        GPIO_ResetBits(GPIOA, GPIO_Pin_5); // PA5输出低电平,LED灭
        for(volatile uint32_t i = 0; i < 500000; i++); // 延时
    }
}

五、总结

STM32F103C8T6是一款功能强大的32位微控制器,其丰富的外设接口和灵活的引脚配置使其在各种嵌入式应用中得到广泛应用。通过理解其引脚定义和功能,可以更好地利用这款芯片的强大功能,实现各种复杂的控制和通信任务。

✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

❤欢迎关注我的知乎:对error视而不见

代码获取、问题探讨及文章转载可私信。

☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。

🍎获取更多嵌入式资料可点击链接进群领取,谢谢支持!👇

点击领取更多详细资料

相关推荐
ytttr8732 分钟前
F3U源码STM32仿三菱PLC底层实现
stm32·plc
我在人间贩卖青春9 分钟前
单片机的时钟源
单片机·嵌入式硬件·时钟源
promising-w16 分钟前
线性电源和开关电源
单片机·嵌入式硬件
BackCatK Chen38 分钟前
TMC2240 芯片数据手册解读|第二篇MC2240 芯片电气规格与封装信息
嵌入式硬件·步进电机驱动·tmc2240·tmc2240 数据手册解读·电气参数·封装信息·硬件选型
老师用之于民43 分钟前
【DAY29】DS18B20 传感器特性、时序协议及 51 单片机驱动开发
c语言·驱动开发·单片机·嵌入式硬件
-Try hard-1 小时前
单片机 | 温度传感器(DS18B20)
单片机·嵌入式硬件
天天爱吃肉82181 小时前
【电机双闭环控制问答:PI 输出为何不同?测功机台架选型有多关键】
功能测试·嵌入式硬件·信息可视化·汽车
学嵌入式的小杨同学1 小时前
STM32 进阶封神之路(二十四):低功耗实战全攻略 —— 电池供电传感器节点(RTC 唤醒 + DHT11 采集 + 功耗优化)
c++·stm32·单片机·嵌入式硬件·mcu·架构·硬件架构
电子工程师成长日记-C511 小时前
51单片机热敏电阻测温
单片机·嵌入式硬件·51单片机
Hello World . .1 小时前
51单片机——UART 串口通信
网络·嵌入式硬件·51单片机