STM32F103C8T6学习 之 点亮一个led灯

这篇博客介绍了作者初次学习STM32F103C8T6时,如何通过查找资料和理解GPIO原理来点亮LED灯的过程。内容涵盖了STM32的GPIO配置、寄存器作用、不同输出模式的解释,以及RCC_APB2PeriphClockCmd()函数在开启GPIO时钟中的作用。通过GPIO初始化结构体设置LED为普通推挽输出模式,并讲解了不同输出模式的应用场景。
摘要由CSDN通过智能技术生成

本次是第一次接触STM32,所以当然先从点亮led灯开始,由于拿到手的资料并不完善,所以一开始就遇到很大问题,不知道led灯对应的引脚,寄存器是什么,也不知道怎么去实现点亮一个灯的操作

后面在网上进行了资料的搜集,通过比对再结合led的原理图,终于实现了效果。

先上代码:

led灯原理图:

/**************************
* 本代码实现效果:         
* led1灯(绿色)间歇性闪烁
**************************/
#include "stm32f10x.h"
void Delay_ms( uint16_t time_ms );

int main()
{
	//开启时钟
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_InitStructure);
	while(1)
	{
		GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET);
		Delay_ms(500);
		GPIO_WriteBit(GPIOB,GPIO
  • 19
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要基于STM32F103C8T6创建并点第一个LED,你需要进行以下步骤: 1. 配置开发环境:首先,你需要安装Keil MDK软件,并确保你的STM32F103C8T6开发板已正确连接到计算机上。 2. 创建新工程:在Keil MDK软件中,选择“File” -> “New Project”来创建一个新的工程。选择适合你的开发板的芯片型号(STM32F103C8T6),并选择一个合适的存储路径。 3. 配置工程设置:在创建工程后,你需要配置一些工程设置。例如,选择合适的编译器、调试器和目标设备等。 4. 编写代码:在Keil MDK软件中,打开新建的工程,并在源文件夹中创建一个新的C文件。在该文件中编写代码来点LED。 下面是一个简单的示例代码,用于点第一个LED(连接到GPIO Port C的Pin 13): ```c #include "stm32f10x.h" int main(void) { // 使能GPIOC时钟 RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; // 配置GPIOC Pin 13为推挽输出模式 GPIOC->CRH &= ~(GPIO_CRH_MODE13 | GPIO_CRH_CNF13); GPIOC->CRH |= GPIO_CRH_MODE13; while (1) { // 点LED GPIOC->BSRR = GPIO_BSRR_BS13; // 延时一段时间 for (int i = 0; i < 1000000; i++); // 熄灭LED GPIOC->BSRR = GPIO_BSRR_BR13; // 延时一段时间 for (int i = 0; i < 1000000; i++); } } ``` 5. 编译和下载:在Keil MDK软件中,点击“Build”按钮来编译你的代码。如果编译成功,就可以将生成的可执行文件下载到STM32F103C8T6开发板上进行调试和运行。 以上是基于STM32F103C8T6创建并点第一个LED的基本步骤。如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值