写出一段stm32f103c8t6的点灯程序
时间: 2023-02-26 09:06:29 浏览: 83
以下是一段使用STM32F103C8T6点亮LED的程序代码:
```
#include "stm32f10x.h"
void GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
int main(void)
{
GPIO_Config();
while(1)
{
GPIO_SetBits(GPIOB, GPIO_Pin_5);
for(int i=0;i<0x100000;i++);
GPIO_ResetBits(GPIOB, GPIO_Pin_5);
for(int i=0;i<0x100000;i++);
}
}
```
代码中首先配置了GPIOB的第5个引脚为输出推挽,然后在while循环中不断点亮和关闭LED。
相关问题
写1个STM32F103C8T6点灯程序
可以的,以下是一个简单的STM32F103C8T6点灯程序:
#include "stm32f10x.h"
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能GPIOC时钟
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //设置GPIOC的Pin13
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置GPIO速度为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化GPIOC
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); //点亮LED
Delay(100); //延时1秒
GPIO_ResetBits(GPIOC, GPIO_Pin_13); //熄灭LED
Delay(100); //延时1秒
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != ; nCount--);
}
希望对你有所帮助!
stm32f103c8t6点灯程序
以下是一个简单的STM32F103C8T6点灯程序,使用的是Keil MDK-ARM开发环境:
```c
#include "stm32f10x.h"
#include "delay.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// Enable GPIOC clock
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
// Configure PC13 as push-pull output
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
while(1)
{
// Toggle PC13
GPIOC->ODR ^= GPIO_Pin_13;
// Delay for 500ms
DelayMs(500);
}
}
```
这个程序会一直循环,在每个循环中将PC13的输出状态翻转,并延迟500毫秒。
需要注意的是,这个程序依赖于一个delay库,可以自行编写或从网络上获取。或者使用HAL库提供的延迟函数。
阅读全文