STM32 - LED流水灯

devtools/2024/10/20 16:22:49/

主要功能:两个OLED的闪烁(PE5和PB5),间隔500ms。

可以继续增加更多的OLED灯。

下面为主要代码main.c:

#include "stm32f10x.h"                  // Device header
#include "Delay.h"
int main(void)
{RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    //推挽输出GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStructure);GPIO_Init(GPIOB,&GPIO_InitStructure);while(1){GPIO_WriteBit(GPIOE, GPIO_Pin_5,Bit_RESET);Delay_ms(500);GPIO_WriteBit(GPIOE, GPIO_Pin_5,Bit_SET);Delay_ms(500);GPIO_WriteBit(GPIOB, GPIO_Pin_5,Bit_RESET);Delay_ms(500);GPIO_WriteBit(GPIOB, GPIO_Pin_5,Bit_SET);Delay_ms(500);}}

下面为延时函数,可以添加到项目中直接调用,有三个等级的延时:Delay_us(微秒级别)、Delay_ms(毫秒级别)和Delay_s(秒级别)。

Delay.h:

#ifndef __DELAY_H
#define __DELAY_Hvoid Delay_us(uint32_t us);
void Delay_ms(uint32_t ms);
void Delay_s(uint32_t s);#endif

Delay.c:

#include "stm32f10x.h"/*** @brief  微秒级延时* @param  xus 延时时长,范围:0~233015* @retval 无*/
void Delay_us(uint32_t xus)
{SysTick->LOAD = 72 * xus;				//设置定时器重装值SysTick->VAL = 0x00;					//清空当前计数值SysTick->CTRL = 0x00000005;				//设置时钟源为HCLK,启动定时器while(!(SysTick->CTRL & 0x00010000));	//等待计数到0SysTick->CTRL = 0x00000004;				//关闭定时器
}/*** @brief  毫秒级延时* @param  xms 延时时长,范围:0~4294967295* @retval 无*/
void Delay_ms(uint32_t xms)
{while(xms--){Delay_us(1000);}
}/*** @brief  秒级延时* @param  xs 延时时长,范围:0~4294967295* @retval 无*/
void Delay_s(uint32_t xs)
{while(xs--){Delay_ms(1000);}
} 


http://www.ppmy.cn/devtools/103989.html

相关文章

【精选】基于Hadoop的社区流浪动物救助领养系统的设计与实现(全网最新定制,独一无二,免费赠送文档参考)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

制造业中的MES知识与ERP\PLM\WMS架构关系(附智能制造MES解决方案PPT下载)

PPT下载地址见文末~ 一、MES系统定义与功能 制造执行系统(Manufacturing Execution System,简称MES)是一套面向制造企业车间执行层的生产信息化管理系统,用于跟踪和记录从原材料到成品的生产转化过程。MES系统通过收集、分析和处…

【计组 | Cache原理】讲透Cache的所有概念与题型方法

Cache 写在前面:高速缓存Cache一直408中的重点以及绝对的难点,前几天我在复习计组第三章的知识,Cache这一节把我困住了,我发现很多概念我都不记得了,一些综合性强的计算题根本无从下手,我深知Cache对于每个…

等保测评(三级)服务器和终端-测评项及整改措施(详细)

本文按照三级等保标准进行测评,可参考进行加固。 等保测评是信息安全等级保护工作的基本制度、基本策略和基本方法。 等保测评是信息安全等级保护工作的基本制度、基本策略和基本方法。信息系统运营、使用单位应选择符合国家要求的测评机构,依据《信息…

STM32F103RCT6上电复位

STM32F103RCT6 在上电时会经历一个上电复位(Power-On Reset, POR)过程。这是微控制器通电后的一种内置复位机制,用于确保所有的内部寄存器和电路都处于一个已知的安全状态。上电复位通常发生在以下几种情况: 首次通电&#xff1a…

数据结构涵盖了哪些内容?

数据结构是计算机科学中研究数据存储和组织方式以及它们之间关系的学科。它不仅仅关注数据在计算机中的存储方式,还关注数据的操作(如增、删、改、查)效率以及这些操作如何影响数据在计算机中的存储结构。数据结构的内容广泛,但主…

尚硅谷大数据技术-Kafka视频教程-笔记01【Kafka 入门】

视频地址:【尚硅谷】Kafka3.x教程(从入门到调优,深入全面)_哔哩哔哩_bilibili 尚硅谷大数据技术-Kafka视频教程-笔记01【Kafka 入门】尚硅谷大数据技术-Kafka视频教程-笔记02【Kafka 外部系统集成】尚硅谷大数据技术-Kafka视频教程…

生产环境中变态开启devtools(强制)

写到最前面 首先,你已经下载了google的插件【vue devtools】,不知道怎么下载,留言博主 如果你想看的项目中的vuetools插件打开是这样的 Vue.js is detected on this page. Devtools inspection is not available because it’s in product…