STM32第一课:编写代码实现灯的亮灭

发布时间:2024年01月20日

一:开发板的介绍

? ? ? ? 我们用最简单的STM32F103C8T6最小核心板进行介绍。

????????STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。?

1.1?STM32F103C8T6最小核心板

?

PA/Bx:板子上引脚的名称

ADCxAnalog-to-Digital Converter,模数转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件。

RX/TX:TXTransmit的缩写,意为传输。它是指将数据从一个设备传输到另一个设备的过程。而RX则是Receive的缩写,意为接收。它是指接收到来自其他设备传输的数据。在网络通信中,TXRX是非常重要的概念,它们承载着数据的传输和接收的功能。

1.2 STM32F103C8T6核心板尺寸?

1.3 STM32F103C8T6核心板原理图?

二:代码的编写?

?2.1 代码编写思路

?????????首先包含头文件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引脚上面。

2.2 代码展示

#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)
	{
		
	}
}

2.3? 代码运行结果

?代码无限循环,蓝色灯常亮。

文章来源:https://blog.csdn.net/QianQiu12345/article/details/135708353
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。