? ? ? ? 我们用最简单的STM32F103C8T6最小核心板进行介绍。
????????STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。?
?
PA/Bx:板子上引脚的名称
ADCx:Analog-to-Digital Converter,模数转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。
RX/TX:TX是Transmit的缩写,意为传输。它是指将数据从一个设备传输到另一个设备的过程。而RX则是Receive的缩写,意为接收。它是指接收到来自其他设备传输的数据。在网络通信中,TX和RX是非常重要的概念,它们承载着数据的传输和接收的功能。
?????????首先包含头文件stm32f10x.h,stm32f10x. h这个文件非常重要,是一个非常底层的文件。它包 含了STM32中寄存器地址和结构体类型定义,在使用到STM32固件库的 地方都要包含这个头文件。
? ? ? ? 首先使能APB2高速外设总线,紧接着定义一个新的结构体,名字可以任意,但是官方推荐大家使用GPIO_InitStructure结构体,便于后期的代码编写。然后对该结构体的三个分量进行配置,把GPIO_Mode、GPIO_Pin、GPIO_Speed分别设置为GPIO_Mode_Out_PP、GPIO_Pin_13、GPIO_Speed_50MHz,意思是把输出模式设置成推挽输出,定义输出引脚为GPIOC_13,把输出频率设置为50MHz,然后把GPIO_InitStructure结构体的三个分量赋值到GPIOC引脚上面。
#include "stm32f10x.h"
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_13);
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
while(1)
{
}
}
?代码无限循环,蓝色灯常亮。