1850|2

309

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

【AT-START-F425测评】三、GPIO点灯及按键评测 [复制链接]

 

雅特力F425的开发板,感觉蛮贴近开发,功能比较直观,代码也直观。

根据评测进度,先评测GPIO点灯及按键,点灯例程直接由提供,在fw下面的examples中有个gpio

  代码也比较简单,直接是LED2、LED3、LED4的循环闪烁。

看了代码和开发文档,用户按钮连接的是PA0,可以通过R5、R6的电阻切换到PC13上

原理图可见,按钮按下时管脚高电平

LED在原理图中对应的时PC2、PC3和PC5

 上述GPIO在例程中都有初始化

 例程中也提供了按钮的检测程序,还是带防抖处理的

button_type at32_button_press()
{
  static uint8_t pressed = 1;
  /* get button state in at_start board */
  if((pressed == 1) && (at32_button_state() != RESET))
  {
    /* debounce */
    pressed = 0;
    delay_ms(10);
    if(at32_button_state() != RESET)
      return USER_BUTTON;
  }
  else if(at32_button_state() == RESET)
  {
    pressed = 1;
  }
  return NO_BUTTON;
}

只是这个按钮例程只检测按下的状态,并不是检测释放的瞬间,个人觉得按钮应该要检测按下后释放的一瞬间,并带防抖处理

nt main(void)
{
	static uint8_t pressed = 0;
	static uint8_t ledmode = 0;
	static uint8_t userbtnclick = 0;
  system_clock_config();

  at32_board_init();

  while(1)
  {
			if(at32_button_state() != RESET) {
					//user button按下
					pressed++;
			} else {
					//user button释放
					if(pressed >= 2)	{
							userbtnclick = 1;
					}
					pressed = 0;
			}
			if(userbtnclick) {
					userbtnclick = 0;
					ledmode = ~ledmode;
			}
			led_toggle(ledmode);
			delay_ms(10);
  }
}

闪烁例程,相对就比较灵活了,可以做出流水效果,也可以闪烁效果

由于只有一个user button,就简单做了个不同的闪烁效果

uint8_t delaytimes = 0;	
void led_toggle(uint8_t flag)
{
		delaytimes ++;
		if(delaytimes < 30) return;
		delaytimes = 0;
		if(flag) {
				at32_led_toggle(LED2);
				//delay_ms(300);
		}else {
    
				at32_led_toggle(LED3);
				//delay_ms(300);
				at32_led_toggle(LED4);
				//delay_ms(300);
		}
}

为了配合按键扫描,在延时上做了处理。

GPIO应该是MCU例程中最简单的了。

 

最新回复

       通灵活运用板载资源,有想法、效果也好。        但是,如果有时间,建议您后续利用定时器+按键中断再来做这个演示,做成长按、短按等的效果,那样效果更好。       因为我曾经因为单个程序调试都没问题,放到一起就出问题了。       期待你后续更精彩的作品。       如有我说得不对,请忽略!   详情 回复 发表于 2022-4-14 13:01
点赞 关注(1)
 
 

回复
举报

7047

帖子

11

TA的资源

版主

沙发
 

       通灵活运用板载资源,有想法、效果也好。

       但是,如果有时间,建议您后续利用定时器+按键中断再来做这个演示,做成长按、短按等的效果,那样效果更好。

      因为我曾经因为单个程序调试都没问题,放到一起就出问题了。

      期待你后续更精彩的作品。

      如有我说得不对,请忽略!

点评

感谢回贴,后面有时间的话,我再做个按键方面的评测,包含长按的  详情 回复 发表于 2022-4-15 13:37
 
 
 

回复

309

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
lugl4313820 发表于 2022-4-14 13:01        通灵活运用板载资源,有想法、效果也好。        但是 ...

感谢回贴,后面有时间的话,我再做个按键方面的评测,包含长按的

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表