历史上的今天
返回首页

历史上的今天

今天是:2025年04月06日(星期日)

2021年04月06日 | STM32之点亮LED灯程序

2021-04-06 来源:eefocus

原理图:

程序:


#include "stm32f10x.h"




GPIO_InitTypeDef GPIO_InitStructure;


#define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_5);

//#define LED1_ON GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_SET);




#define LED1_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_5);


//#define LED1_OFF GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_RESET) ;



#define LED2_ON GPIO_SetBits(GPIOD, GPIO_Pin_6);


#define LED2_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_6);




#define LED3_ON GPIO_SetBits(GPIOD, GPIO_Pin_3);


#define LED3_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_3);




void RCC_Configuration(void);


void LED_Config(void);


void Delay(__IO uint32_t nCount);




/****************************************************************************


* 名 称:void LED_Config(void)


* 功 能:LED 控制初始化函数




输入

****************************************************************************/


void LED_Config(void){


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE);




GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1 V6 //将V6,V7,V8 配置为通用推挽输出


GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;


GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口线翻转速度为50MHz


GPIO_Init(GPIOB, &GPIO_InitStructure);




GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_3; //LED2, LED3 V7 V8


GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;


GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;


GPIO_Init(GPIOD, &GPIO_InitStructure);


// GPIO_Init(GPIOD, &GPIO_InitStructure);




GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //LCD背光控制


GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;


GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;


GPIO_Init(GPIOD, &GPIO_InitStructure);


GPIO_ResetBits(GPIOD, GPIO_Pin_13); //LCD背光关闭




}




/****************************************************************************


* 名 称:int main(void)


* 功 能:主函数



****************************************************************************/


int main(void)


{


RCC_Configuration(); //系统时钟配置


LED_Config();//LED控制配置


while (1)


{


LED1_ON; LED2_OFF; LED3_OFF;//LED1亮 LED2,LED3灭(LED2,LED3 仅V5 V3,V2,V2.1板有)


Delay(0xAFFFF);


LED1_OFF; LED2_ON; LED3_OFF;//LED2亮 LED1,LED3灭(LED2,LED3 仅V5 V3,V2,V2.1板有)


Delay(0xAFFFF);


LED1_OFF; LED2_OFF; LED3_ON;//LED3亮 LED1,LED2灭(LED2,LED3 仅V5 V3,V2,V2.1板有)


Delay(0xAFFFF);


}


}




/****************************************************************************


* 名 称:void RCC_Configuration(void)


* 功 能:系统时钟配置为72MHZ


* 入口参数:无


* 出口参数:无


* 说 明:


* 调用方法:无


****************************************************************************/


void RCC_Configuration(void)


{


SystemInit();


}




/****************************************************************************


* 名 称:void Delay(__IO uint32_t nCount)


* 功 能:延时函数


* 入口参数:无


* 出口参数:无


* 说 明:


* 调用方法:无


****************************************************************************/


void Delay(__IO uint32_t nCount)


{


for(; nCount != 0; nCount--);


}


推荐阅读

史海拾趣

EOREX公司的发展小趣事

在电子行业的早期,EOREX公司由一群热衷于技术创新的工程师创立。他们专注于研发高性能的半导体芯片,以满足当时市场对更快、更稳定电子产品的需求。通过不断的技术创新和产品迭代,EOREX逐渐在半导体领域树立了良好的口碑,吸引了众多合作伙伴和投资者的关注。随着公司规模的扩大,EOREX不断加大对研发的投入,推出了更多具有竞争力的产品,逐渐在电子行业中崭露头角。

台湾远翔(Feeling Technology)公司的发展小趣事

乔光电子成立于2009年,起初专注于过压、过流保护元器件的研发、生产和销售。公司凭借对技术的执着追求和对市场的敏锐洞察,迅速在行业内站稳脚跟。在创立初期,乔光电子就建立了先进的EMC实验室,致力于为客户提供顶级性能的过压、过流保护元器件和完整的电路保护解决方案。这一时期,乔光电子在福建和东莞建立了生产基地,为后续的快速发展奠定了坚实基础。

启臣微(Chip)公司的发展小趣事

在成都启臣微电子股份有限公司成立之初,公司就致力于集成电路及系统产品的设计、生产与销售。面对激烈的市场竞争,启臣微坚持创新,投入大量研发资源,终于在高性能功率管理集成电路领域取得了重大技术突破。这一突破不仅提升了公司的市场竞争力,也为公司赢得了业界的广泛认可。

CONTRINEX公司的发展小趣事

除了上述重要事件外,Contrinex还一直致力于产品创新和技术研发。多年来,公司不断推出新型传感器产品,如防磁防焊型电感式传感器、扩展型纤细型安全光幕等,以满足不同客户的需求。同时,Contrinex还积极与OEM和系统集成商合作,共同开发定制化解决方案,为客户提供更加全面和专业的服务。

这些故事只是Contrinex在电子行业发展历程中的一部分。作为一个不断追求卓越和创新的企业,Contrinex将继续致力于为客户提供高品质、高精度的传感器产品和解决方案,推动电子行业的持续发展。

APTA Group Inc公司的发展小趣事

在电子行业的发展过程中,APTA Group Inc也遭遇了不少挑战。例如,原材料价格的波动、国际贸易环境的变化等都曾给公司带来不小的压力。然而,APTA并未被这些困难击垮,而是积极调整战略,优化生产流程,降低成本,提高产品质量。这种在挑战中展现出的韧性和应变能力,使得APTA能够在逆境中保持稳健的发展态势。

C.K Magma公司的发展小趣事

C.K Magma公司最初由一群热衷于电子技术的工程师创立。他们通过深入研究,成功开发出一种新型半导体材料,这种材料在性能和稳定性上均优于当时市场上的同类产品。这一技术突破为公司赢得了业界的关注,并吸引了第一批投资。随着资金的注入,C.K Magma公司得以扩大研发团队,进一步巩固了其在半导体领域的技术领先地位。

问答坊 | AI 解惑

工程师赚钱之路!!经常是老板赚大钱自己却只拿工资,有没有其他的方法欢迎讨论~

作为硬件工程师,最郁闷的事情不外于此,辛辛苦苦设计成的硬件电路板,却没有版权,活活看着自己给公司剥削也无可奈何,即使设计的产品销量再好,跟你也是毫无关系,最后还可能被公司一脚踢开。为了解决这个问题,我们经过多年的研究与实践,终于想 ...…

查看全部问答>

要暂时中断winCE的学习,转去看windows下USB驱动的开发,郁闷中……

公司一个项目要做windows下USB驱动的开发,老大叫我跟着一起看看相关的知识,并跟我说了一大通做USB设备驱动的前景。USB驱动比较复杂,要花时间去学习的,那我就要暂时中断winCE的学习了。但心里还是想朝winCE这个方向发展,况且也学了一些日子了, ...…

查看全部问答>

程序崩溃后,CEDB没有Unmount,导致下次mount失败

程序崩溃后CeUnmountDBVol没有调用,下次执行程序时CeMountDBVol(OPEN_ALLWAYS)失败,请问怎么解决…

查看全部问答>

求助软件mcu_ideV3.0

谁有mcu_ideV3.0,(装上去之后自带工具链,如keil c51,一共四种,就是有2KB代码限制的哪个版本) 官网上下的没有工具链,…

查看全部问答>

pci9054外接EEPROM必须得进行烧写吗?

我看了有的文章上说可用编程器进行烧写,但是可不可以通过驱动程序对EEPROM进行写入呢?…

查看全部问答>

modelsim如何固定仿真信号显示的顺序?

用modelsim进行仿真,为了便于观察,我希望仿真结果按一定的顺序显示。可是每次手动调整完信号顺序后,再重新仿真,顺序又乱了,有没有办法将这些信号的顺序固定下来,每仿真一次都按这个顺序显示结果?…

查看全部问答>

stm32菜鸟级问题:TIMx输入时钟设置方面的

在STM32F10X参考手册上的第21(实际36)页,有一个时钟树。上面"APB1 Prescaler /1,2,4,8,16"下面"TIM2,3,4 *1,2 Multiplier"是不是可倍频的意思呀?我没有找到这一项的设置呢?哪一个寄存器位是设置这一项?菜鸟 ...…

查看全部问答>

请叫有关BT的问题

我看到很多例程用BT做软时钟,如果在做软时钟的同时检测io的状态,如果符合一定条件就LPM3_EXIT,会不会有问题,请老师指导一下吧:)…

查看全部问答>

反相降压—升压拓扑可调节 LED 电流

LED 亮度控制要求有一个能够提供恒定、稳压电流的驱动器。要想达到这一目标,驱动器拓扑必须能够产生足够大的输出电压来正向偏置 LED。因此,如果输入和输出电压范围重叠时,我们又该做何选择呢?   德州仪器 (TI) 应用工程师John Betten, ...…

查看全部问答>

FPGA设计,最重要的是什么?

面试考官问我,“FPGA设计,最重要的是什么?”我一时慌乱,想不到什么是最重要的,大家谈谈自己的看法。…

查看全部问答>