查看: 1808|回復: 0
打印 上一主題 下一主題

【瘋殼·智能穿戴開(kāi)發(fā)教程7】開(kāi)源藍牙心率防水運動(dòng)手環(huán)-電容觸摸

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2022-8-25 15:27:28 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
開(kāi)源藍牙心率防水運動(dòng)手環(huán)
——瘋殼·智能穿戴開(kāi)發(fā)系列
電容觸摸




  1相關(guān)簡(jiǎn)介

  本次章節,我們將使用到 DA14580 的外部中斷,通過(guò)觸摸手環(huán)主板上面的小彈簧,觸發(fā)中斷。
  DA14580 內部有嵌套中斷向量控制器( NVIC,Nested Vectored Interrupt Controller),支持 24 個(gè)中斷,能夠中斷配置與處理異常代碼。當發(fā)生一個(gè)中斷請
  求時(shí),自動(dòng)執行對應的中斷函數,不需要軟件確定異常向量。中斷可以有 4 個(gè)不同的可編程的優(yōu)先級,NVIC 自動(dòng)處理嵌套中斷。對于安全關(guān)鍵系統,又不可屏蔽中斷(NMI,Non maskable interrupt)輸入。
  DA14580 內部還有一個(gè)鍵盤(pán)控制器,可以用于延時(shí) GPIO 信號進(jìn)入的時(shí)間?梢詸z測所有的 I/O 口的電平變化。當監測信號時(shí),可以產(chǎn)生中斷(KEYBR_IRQ)。同時(shí),另外有 5 個(gè)中斷(GPIOn_IRQ)可以被 GPIO 口觸發(fā)。
  2硬件設計

  下面的就是本次使用的觸摸按鍵,采用的是 RH6015,中斷引腳連接到我們DA14850 的 P27 腳。


  圖 1
  RH6015 是一款內置穩壓模塊的單通道電容式觸摸感應控制開(kāi)關(guān) IC,可以替代傳統的機械式開(kāi)關(guān)。當我們觸摸到 RH1615 第三引腳前的觸摸電容時(shí),第一引腳會(huì )由高電平變成低電平。
  3軟件設計

  本次軟件,將完觸摸一次按鍵,打印一次累計按鍵次數的現象。

  整個(gè)實(shí)驗代碼,將使用到兩個(gè)部分:串口和外部中斷。關(guān)于串口的初始化配置,以及串口打印的相關(guān)函數,可以參考前面的章節,本章節只介紹外部中斷的相關(guān)代碼。
  要使用外部中斷,就需要一下幾個(gè)流程:

  (1)配置要使用的 IO 口。
  GPIO_ConfigurePin(BUTTON_PORT, BUTTON_PIN1, INPUT, PID_GPIO, false); 這里將 DA14580 的 P27 管腳設置為輸入。
  (2)注冊中斷回調函數。
  GPIO_RegisterCallback(GPIO0_IRQn, button1_int_handler);
  這個(gè)注冊中斷回調函數有兩個(gè)參數, 第一個(gè)參數是外部中斷編號, 可以填寫(xiě)GPIO0_IRQn、GPIO1_IRQn、GPIO2_IRQn、GPIO3_IRQn 和 GPIO4_IRQn。第二個(gè)是回調函數的指針。
  (3)使能外部中斷。
  GPIO_EnableIRQ( BUTTON_PORT, BUTTON_PIN1, GPIO0_IRQn, 1, 1, 10 );

  完成以上 3 步之后,每當手觸摸到觸摸彈簧,代碼就會(huì )運行到回調函數

  button1_int_handler 之中。
  void button1_int_handler(void)

  {
  static unsigned char button_count=0; button_count++;
  printf_string("\r\n Number of key:"); printf_byte(button_count);
  }

  在中斷函數 button1_int_handle ( ) 中, 首先定義了一個(gè)靜態(tài)變量

  button_count,用于記錄按鍵次數,進(jìn)入一次外部中斷,就將變量button_count 加 1,然后答應出換行符以及字符串 Number of key:,最后就打印出 button_count 的值。
  4實(shí)驗現象

  首先,插好 Jlink 和 USB 轉串口,然后打開(kāi)打開(kāi)串口調試助手。

  (1)選擇串口號,我們圖中是 COM1,這個(gè)根據實(shí)際情況選擇。

  (2)配置串口參數,波特率為 115200,數據位 8,停止位 1,沒(méi)有校驗位和控制流,與下圖一致。
  (3)點(diǎn)擊打開(kāi)串口。

  
  圖 2
  配置完串口之后,打開(kāi)我們提供的代碼。

  (1)點(diǎn)擊仿真按鍵。


  圖 3
  (2)點(diǎn)擊運行代碼。

  
  圖 4
  完成之后,觸摸一次觸摸彈簧,串口調試助手就打印出一條信息,如下圖所示。

  
  圖 5



文件下載請點(diǎn)擊: 5_(100%開(kāi)源)藍牙心率防水運動(dòng)手環(huán)_電容觸摸.pdf (645.65 KB)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页