[STM32F1] 如何用独立按键控制一个led灯

[复制链接]
1237|15
 楼主| chenho 发表于 2021-8-13 22:42 | 显示全部楼层 |阅读模式
如何用独立按键控制一个led灯,按下时候灯亮,下面我写的,求解失败原因及方法,谢谢
#include<iom16v.h>
#include<macros.h>
#define unit unsigned int
#define uchar unsigned char

void show()
{
DDRA|=0X84;
PORTA|=BIT(2);
PORTA&=~BIT(7);


DDRB=0XFF;
PORTB=0XFE;
}
void main()
{
uchar key;
DDRD|=0X0F;
PORTD|=0X0F;

DDRD&=0XF0;

key=PIND;
key=key&0x0f;

if(key==0x0E)
  {show();}
}
stly 发表于 2021-8-13 22:47 | 显示全部楼层

用while(1)试试,你是刚学单片机吗?
llljh 发表于 2021-8-13 22:50 | 显示全部楼层

楼主你的引脚怎么定义的?
heweibig 发表于 2021-8-13 22:52 | 显示全部楼层
在if前边写个while  不停监测 按键的状态
gongche 发表于 2021-8-13 22:54 | 显示全部楼层

if(key==0x0E)
  {show();}

改成
while(1)
{
    if(key==0x0E)
       {show();}
}
dingy 发表于 2021-8-13 22:56 | 显示全部楼层
你的if条件总为假吧?
pengf 发表于 2021-8-13 22:59 | 显示全部楼层
C+微机原理+模/数只是起步
stly 发表于 2021-8-13 23:01 | 显示全部楼层
少一个循环
huanghuac 发表于 2021-8-13 23:03 | 显示全部楼层
加while循环就行了
jiajs 发表于 2021-8-13 23:05 | 显示全部楼层
没有加循环啊
chuxh 发表于 2021-8-13 23:06 | 显示全部楼层
很简单的问题
 楼主| chenho 发表于 2021-8-13 23:09 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
观海 发表于 2021-9-8 18:36 | 显示全部楼层
额 循环有问题的啦
guanjiaer 发表于 2021-9-8 18:43 | 显示全部楼层
自己仿真一下就知道哪里有问题了
heimaojingzhang 发表于 2021-9-8 18:45 | 显示全部楼层
千万不要死循环哈
keaibukelian 发表于 2021-9-8 18:47 | 显示全部楼层
把哪部分改过就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

748

主题

9853

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部