内容介绍
内容介绍
Funpack第七期说明文档
我是来自安徽师范大学18级通信工程的一名学生,本次参加的是funpack的第七期活动,下面就开始我所完成的任务进行展示.
本期活动参与者可从下面两个任务中任选其一完成:
任务一:通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
任务二:可选择从Digi-Key购买mikroBUS扩展模块,插在本期板卡上完成任意一个项目.
我所完成的是任务一的内容,下面对本次所使用的评估板及传感器等元件进行介绍.
本期开发板Microchip DM164137支持microchip的8,14,20引脚8位PICMCU.插槽两侧的双排扩展接口提供与PICMCU上所有引脚的连接灵活性.编程/调试是通过PIC板载调试器完成,无需外部编程工具.开发板设计了多种供电方式,可以通过电源插头或者直接引入电源供电,也可通过USB接口供电。核心芯片支持5V和3.3V供电。板上包括一组4个指示LED,mTouch触摸按钮、按键开关以及可变电位器。 此外,它还具有蓝牙模块接口和以及mikroBUS标准接口,可支持上百种基于mikroBUS的扩展模块。
代码如图,主要代码为通过判断按键按下时间来亮起相对应的led,以及adc采样后的串口打印:
BTN_STATE button_check(uint8_t button)//enum mtouch_button_names button)
{
switch(Button0_state[button])
{
case BTN_RELEASE:
{
if(Button0Touch)
{
Button0_state[button] = BTN_TOUCH;
}
break;
}
case BTN_TOUCH:
{
if(Button0Touch)
{
if(Button0_cnt>SHORT_PUSH_CNT)
{
Button0_state[button] = SHORT_PUSH;
printf("SHORT\n\r");
Button0_cnt = 0;
}
Button0_cnt++;
}
else
{
Button0_state[button] = CLICK;
Button0_cnt = 0;
}
break;
}case DOUBLE_CLICK:
{
if(!Button0Touch)
{
Button0_state[button] = BTN_RELEASE;
Button0_cnt = 0;
}
break;
}
case SHORT_PUSH:
{
if(Button0Touch)
{
if(Button0_cnt>LONG_PUSH_CNT)
{
Button0_state[button] = LONG_PUSH;
printf("LONG");
LED_D6_Toggle();
}
Button0_cnt++;
}
if(!Button0Touch)
{
LED_D5_Toggle();
Button0_state[button] = BTN_RELEASE;
Button0_cnt = 0;
}
break;
}
case LONG_PUSH:
{
if(!Button0Touch)
{
Button0_state[button] = BTN_RELEASE;
Button0_cnt = 0;
}
break;
}
case WAIT_DOUBLE:
{
if(Button0Touch)
{
LED_D4_Toggle();
Button0_state[button] = DOUBLE_CLICK;
}
else
{
if(Button0_cnt>WAIT_DOUBLE_CNT)
{
Button0_state[button] = BTN_RELEASE;
Button0_cnt = 0;
}
Button0_cnt++;
}
break;
}
default:break;
}
}
上述代码实现的是按键的状态判别,演示效果与任务相符,示例图如下
下面代码为adc采样及串口打印:
case CLICK:
{
if(!Button0Touch)
{
LED_D7_Toggle();
adcResult = ADCC_GetSingleConversion(ANC0);
printf("ADC_result= %d\n\r", adcResult);
Button0_state[button] = WAIT_DOUBLE;
Button0_cnt = 0;
}
break;
下图为演示图:
以上就是本次活动的全部内容,再次感谢funpack让我有机会接触到不一样的东西,让我学到了更多.
附件下载
lsq.X.rar
团队介绍
评论
0 / 100
查看更多
猜你喜欢
Funpack第七期——基于DM164137的按键实验通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印信息(包括按键信息,电位计信息)
cardry
1218
Funpack第七期_DM164137_按键_adc采样本次通过按键扩展功能,分为按键点击(快速点击),短按(大于1秒),长按(大于5秒)用来控制板上LED显示。同时外接串口模块打印电位计信息信息
赵团团
865
Funpack第七期_DM164137_按键_电位器采样开发板设计了多种供电方式,可以通过电源插头或者直接引入电源供电,也可通过USB接口供电。核心芯片支持5V和3.3V供电。板上包括一组4个指示LED,mTouch触摸按钮、按键开关以及可变电位器。
胖头鱼
881