完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
|
|
相关推荐
1个回答
|
|
|
使用查询方式检测按键
2)、官方裸机编程指导手册:kendryte_standalone_programming_guide,用于查阅SDK中接口说明。
1)、设置引脚复用功能:由硬件原理图可知:我们需要将IO12和IO16设置为GPIOHS功能,如下图: #include #include #include #define LED_R_PIN (12) #define LED_R_GPIOHSNUM (0) #define LED_R_FUNC (FUNC_GPIOHS0+LED_R_GPIOHSNUM) #define KEY_BT1_PIN (16) #define KEY_BT1_GPIOHSNUM (1) #define KEY_BT1_FUNC (FUNC_GPIOHS0+KEY_BT1_GPIOHSNUM) /********************************* * 管脚功能初始化 ********************************/ void init_hardware(void) { // 将红色LED管脚设置复用为GPIOHS fpioa_set_function(LED_R_PIN, LED_R_FUNC); // 将按键管脚设置复用为GPIOHS fpioa_set_function(KEY_BT1_PIN, KEY_BT1_FUNC); } /********************************* * LED初始化 ********************************/ void init_led(gpio_pin_value_t value) { // 设置输出 gpiohs_set_drive_mode(LED_R_GPIOHSNUM, GPIO_DM_OUTPUT); // 设置初始电平状态 gpiohs_set_pin(LED_R_GPIOHSNUM, value); } /********************************* * 控制LED亮灭 ********************************/ void ctl_led(gpio_pin_value_t value) { gpiohs_set_pin(LED_R_GPIOHSNUM, value); } /********************************* * 按键初始化 ********************************/ void init_key(void) { // 设置输入 gpiohs_set_drive_mode(KEY_BT1_GPIOHSNUM, GPIO_DM_INPUT); } /********************************* * 获取按键状态 ********************************/ gpio_pin_value_t get_key_statue(void) { return gpiohs_get_pin(KEY_BT1_GPIOHSNUM); } int main() { gpio_pin_value_t led_r_value = GPIO_PV_HIGH; // LED初始电平 unsigned char key_release_flag = 0; // 按键松手标志 init_hardware(); // 设置管脚复用功能 init_led(led_r_value); // led初始化 init_key(); // 按键初始化 while(1) { if(get_key_statue() == 0 && key_release_flag == 0) // 按键按下 { led_r_value = !led_r_value; ctl_led(led_r_value); key_release_flag = 1; } else if(get_key_statue() == 1 && key_release_flag == 1) // 按键松开 { key_release_flag = 0; } else { key_release_flag = key_release_flag; } } return 0; }
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1599 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4738 浏览 0 评论
4229 浏览 9 评论
3822 浏览 16 评论
4398 浏览 1 评论
4212浏览 3评论
2381浏览 0评论
3394浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:32 , Processed in 0.713834 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1405