完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电容触摸 1相关简介 本次章节,我们将使用到 DA14580 的外部中断,通过触摸手环主板上面的小弹簧,触发中断。 DA14580 内部有嵌套中断向量控制器( NVIC,Nested Vectored Interrupt Controller),支持 24 个中断,能够中断配置与处理异常代码。当发生一个中断请 求时,自动执行对应的中断函数,不需要软件确定异常向量。中断可以有 4 个不同的可编程的优先级,NVIC 自动处理嵌套中断。对于安全关键系统,又不可屏蔽中断(NMI,Non maskable interrupt)输入。 DA14580 内部还有一个键盘控制器,可以用于延时 GPIO 信号进入的时间。可以检测所有的 I/O 口的电平变化。当监测信号时,可以产生中断(KEYBR_IRQ)。同时,另外有 5 个中断(GPIOn_IRQ)可以被 GPIO 口触发。 2硬件设计 下面的就是本次使用的触摸按键,采用的是 RH6015,中断引脚连接到我们DA14850 的 P27 脚。 图 1 RH6015 是一款内置稳压模块的单通道电容式触摸感应控制开关 IC,可以替代传统的机械式开关。当我们触摸到 RH1615 第三引脚前的触摸电容时,第一引脚会由高电平变成低电平。 3软件设计 本次软件,将完触摸一次按键,打印一次累计按键次数的现象。 整个实验代码,将使用到两个部分:串口和外部中断。关于串口的初始化配置,以及串口打印的相关函数,可以参考前面的章节,本章节只介绍外部中断的相关代码。 要使用外部中断,就需要一下几个流程: (1)配置要使用的 IO 口。 GPIO_ConfigurePin(BUTTON_PORT, BUTTON_PIN1, INPUT, PID_GPIO, false); 这里将 DA14580 的 P27 管脚设置为输入。 (2)注册中断回调函数。 GPIO_RegisterCallback(GPIO0_IRQn, button1_int_handler); 这个注册中断回调函数有两个参数, 第一个参数是外部中断编号, 可以填写GPIO0_IRQn、GPIO1_IRQn、GPIO2_IRQn、GPIO3_IRQn 和 GPIO4_IRQn。第二个是回调函数的指针。 (3)使能外部中断。 GPIO_EnableIRQ( BUTTON_PORT, BUTTON_PIN1, GPIO0_IRQn, 1, 1, 10 ); 完成以上 3 步之后,每当手触摸到触摸弹簧,代码就会运行到回调函数 button1_int_handler 之中。 void button1_int_handler(void) { static unsigned char button_count=0; button_count++; printf_string("rn Number of key:"); printf_byte(button_count); } 在中断函数 button1_int_handle ( ) 中, 首先定义了一个静态变量 button_count,用于记录按键次数,进入一次外部中断,就将变量button_count 加 1,然后答应出换行符以及字符串 Number of key:,最后就打印出 button_count 的值。 4实验现象 首先,插好 Jlink 和 USB 转串口,然后打开打开串口调试助手。 (1)选择串口号,我们图中是 COM1,这个根据实际情况选择。 (2)配置串口参数,波特率为 115200,数据位 8,停止位 1,没有校验位和控制流,与下图一致。 (3)点击打开串口。 图 2 配置完串口之后,打开我们提供的代码。 (1)点击仿真按键。 图 3 (2)点击运行代码。 图 4 完成之后,触摸一次触摸弹簧,串口调试助手就打印出一条信息,如下图所示。 图 5 配套资料:https://www.fengke.club/GeekMart/su_fkZyGYgrp.jsp 配套视频:https://www.fengke.club/GeekMart/su_fTSgUL3y3.jsp 文件下载请点击:
5_(100%开源)蓝牙心率防水运动手环_电容触摸.pdf
(591.9 KB, 下载次数: 0
)
|
|
相关推荐
|
|
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
644 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2226 浏览 1 评论
764 浏览 0 评论
1520 浏览 1 评论
2266 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 21:37 , Processed in 0.515301 second(s), Total 69, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号