完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
ATMEL 芯片型号ATtiny44A #include #include #define __delay_cycles(n) __builtin_avr_delay_cycles(n) #define __enable_interrupt() sei() #include "touch_api.h" #include "touch.h" #define GET_SENSOR_STATE(SENSOR_NUMBER) qt_measure_data.qt_touch_status.sensor_states[(SENSOR_NUMBER/8)] & (1 << (SENSOR_NUMBER % 8)) #define GET_ROTOR_SLIDER_POSITION(ROTOR_SLIDER_NUMBER) qt_measure_data.qt_touch_status.rotor_slider_values[ROTOR_SLIDER_NUMBER] extern void touch_measure(); extern void touch_init( void ); extern void init_system( void ); extern void init_timer_isr(void); extern void set_timer_period(uint16_t); uint16_t qt_measurement_period_msec = QT_MEASUREMENT_PERIOD_MS; uint16_t time_ms_inc=0; /* flagset by timer ISR when it's time to measure touch */ volatile uint8_t time_to_measure_touch =0u; /*current time, set by timer ISR */ volatile uint16_t current_time_ms_touch =0u; int main( void ) { /* initialise host app, pins, watchdog, etc */ init_system(); /* configure timer ISR to fire regularly */ init_timer_isr(); /* Initialize Touch sensors */ touch_init(); /* Set pin PA4/PA5/PA6 direction as output,and initial output value as HI */ DDRA |= (0x07u << PORTA4); PORTA |= (0x07u << PORTA4); /* loop forever */ for(; ; ) { touch_measure(); /* Time Non-critical hostapplication code goes here */ if((GET_SENSOR_STATE(0)) != 0) PORTA &= ~(1 << PORTA4); else PORTA |= (1 << PORTA4); if((GET_SENSOR_STATE(1)) != 0) PORTA &= ~(1 << PORTA5); else PORTA |= (1 << PORTA5); if((GET_SENSOR_STATE(2)) != 0) PORTA &= ~(1 << PORTA6); else PORTA |= (1 << PORTA6); } } 上面程序提供,三个按键(PA0 PA1 PA2),三个输出口(PA4 PA5 PA6)。 现在想将三个按键改成两个按键(PA0 PA1),输出还是三个输出(PA4 PA5 PA6)。 具体方式如下: 1. 假设PA1和PA0连接的按键是音量加减键,加减方式为上下滑动。即先接触PA0(减)后接触PA1(加)滑动,在PA4输出一个低电平信号,音量增大,;反之,先接触PA1(加)后接触PA0(减)滑动,在PA5输出一个低电平信号,音量减小。 2. 常时间接触PA0(减){具体是长按PA0还是长按PA1,可具体再设置},即长按此键,大概五秒左右(时间可具体在设置),切换到程序切换功能。切换到此功能,正常触摸PA0键,可在PA6输出一个低电平信号,为程序切换信号。要返回第一个音量加减功能,可常时间触摸PA0(减),大概五秒左右(时间可具体在设置),就切换到上一步的音量加减功能。 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
828 浏览 0 评论
824 浏览 0 评论
861 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
836 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1292 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11824 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-29 18:02 , Processed in 0.424981 second(s), Total 39, Slave 31 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号