当前位置: 首页 > news >正文

使用标准库版本编写LED闪烁

1、在STM32CubeMX中创建一个新的工程,选择STM32F103VCT6作为目标设备,并配置好所需的引脚和时钟设置。将需要用于LED连接的GPIO引脚设置为输出模式。

2、在生成代码后,打开工程目录,在Src文件夹中创建一个新的main.c文件。

3、在main.c文件中编写以下代码:

#include "stm32f10x.h"void GPIO_Init(void);
void SysTick_Init(void);int main(void)
{GPIO_Init();SysTick_Init();while (1){GPIOC->ODR ^= GPIO_Pin_13; // 切换LED引脚电平状态Delay(500); // 等待500ms}
}void GPIO_Init(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 使能GPIOC时钟GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13; // 配置GPIOC_PIN_13GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出模式GPIO_InitStruct.GPIO_Speed = GPIO_Speed_2MHz; // GPIO速度GPIO_Init(GPIOC, &GPIO_InitStruct); // 初始化GPIOC引脚
}void SysTick_Init(void)
{SysTick_Config(SystemCoreClock / 1000); // 配置SysTick为1毫秒中断一次
}void Delay(__IO uint32_t nTime)
{TimingDelay = nTime;while (TimingDelay != 0);
}volatile uint32_t TimingDelay = 0;void SysTick_Handler(void)
{if (TimingDelay != 0x00){TimingDelay--;}
}
http://www.lryc.cn/news/109680.html

相关文章:

  • 【CDC】跨时钟域处理方法总结一
  • 【Linux】创建分区后没有识别到分区盘?
  • W6100-EVB-PICO做DNS Client进行域名解析(四)
  • {Fixed} Android TV国内开机不会自动连接WIFI / 连接国内网络不会更新时间
  • 【ASP.NET MVC】数据到客户端(7)
  • InnoDB有哪些特性
  • 【linux--->数据链路层协议】
  • 如何在pytest接口自动化框架中扩展JSON数据解析功能?
  • 哪些年,我们编程四处找的环境依赖
  • 物联网工程开发实施,应该怎么做?
  • mysql使用SUBSTRING_INDEX拆分字符串,获取省、市、县和详细现住址
  • Kubernetes中的就绪(readinessProbe)和存活(livenessProbe)探针
  • docker端口映射详解(随机端口、指定IP端口、随意ip指定端口、指定ip随机端口)
  • 俄罗斯方块
  • web服务
  • 【Rust 基础篇】Rust类型别名:为类型赋予新的名字
  • 【机器学习】 贝叶斯理论的变分推理
  • Flink之RedisSink
  • STM32CubeMx学习与K210串口通信+识别橘色色块——点亮小灯
  • 睿讯微带你深度了解汽车交流充电桩
  • word怎么压缩到10m以下?文件压缩很简单
  • I.MX6ULL_Linux_驱动篇(43)linux通用LED驱动
  • OPTEE之sonarlint静态代码分析实战二——optee_client
  • c++调用ffmpeg api将视频文件内容进行udp推流
  • 助力工业物联网,工业大数据之服务域:油站主题分析【二十六】
  • MySql之索引
  • adb调试
  • ElasticSearch_学习笔记
  • Portraiture 4.0.3 for windows/Mac简体中文版(ps人像磨皮滤镜插件)
  • Java精品项目源码第152期火车票预订系统(编号M062)