焊接资讯

您现在的位置是:首页 > led灯 > 正文

led灯

stm32按键控制led灯亮度(stm32按键控制灯的亮度)

工品易达2022-10-12led灯18

stm32单片机用两个按键控制led, 按键1 控制从灭到亮,按键2控制从亮到暗,但是一直按着按键

给你一个最简单的思路

cpu利用率不高但是可以完成

你上面写的我给你提供一个思路

你应该可以看的懂

看不懂追问

unsigned

int

key;

void

main(void)

{

while(1)

{

switch(key)

{

case

0:

led0=!led0;

//你自己修改

delay_ms(200);

break;

case

1:

led1=!led1;

delay_ms(200);

break;

case

2:led2=!led2;

delay_ms(200);

break;

default:

break;

}

void

在这里按键获取函数(void)

{

key=获取到的值;

//没有按键按下的话是进入不到这里

}

}

}

求大神指教怎么用stm32按键控制LED

把PC5-PC8都设置为输入,把PB0,1,14,15设置为输出。

在程序while中检测pc5-8的输入管脚电平,来使能输出PB管脚的高低电平来点亮LED。

逻辑很简单,希望你成功。

[img]

奋斗stm32 v5开发版按键控制led的问题

这个不是一两句话可以

讲清楚

的,你可以可以使用APP函数或者

库函数

完成开发,与

51单片机

一样,只是

STM32

需要先开启时钟线、设置端口输入还是输出模式,速度模式,以及初始化是高还是低状态,等设置好这些了,它就是一个51单片机一样的功能了。

在stm32里用按键来控制灯的亮灭时如图的一句代码是干吗用的感觉多余,但是注释掉还不对,求大神指教??

通常的代码如下

uint8_t Key_Scan(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)

{ /*检测是否有按键按下 */

if(GPIO_ReadInputDataBit(GPIOx, GPIO_Pin)==KEY_ON)

{ /*等待按键释放 */

while(GPIO_ReadInputDataBit( GPIOx, GPIO_Pin)==KEY_ON) ;

return KEY_ON ;

}

else return KEY_OFF;

}

两者之间的差异仅仅是 KEY_ON 和 KEY_OFF,你取的按键逻辑是反相的,并没什么不对;

其中语句:while(GPIO_ReadInputDataBit( GPIOx, GPIO_Pin)==KEY_ON) ;

就是进入循环,直到 GPIO_Pin= KEY_OFF,循环才结束;

stm32按键控制led灯亮度的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于stm32按键控制灯的亮度、stm32按键控制led灯亮度的信息别忘了在本站进行查找喔。微信号:ymsc_2016

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~