色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 1920|回復(fù): 0
打印 上一主題 下一主題

【瘋殼·智能穿戴開發(fā)教程11】開源藍(lán)牙心率防水運(yùn)動(dòng)手環(huán)-整機(jī)功能代碼講解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-9-1 15:42:51 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
開源藍(lán)牙心率防水運(yùn)動(dòng)手環(huán)
——瘋殼·智能穿戴開發(fā)系列
整機(jī)功能代碼講解




整機(jī)代碼

1 軟件設(shè)計(jì)
  本節(jié),我們將融合前面的藍(lán)牙收發(fā)、三軸記步、電量檢測(cè)、外部 Flash 讀寫、 心率檢測(cè)和 Led 屏幕顯示,完成手環(huán)的制作。
  以上各個(gè)部分可以參考前面的章節(jié)。
  首先,看一下我們手環(huán)的整個(gè)軟件主函數(shù)流程。


圖1
  代碼運(yùn)行后,首先進(jìn)入初始化,初始化系統(tǒng)時(shí)鐘、外設(shè)和藍(lán)牙。除此之外, 還開啟了定時(shí)中斷和 GPIO 中斷。
  我們的定時(shí)中斷每 10ms 觸發(fā)一次,用于 ADC 定時(shí)采集心率數(shù)據(jù),以及定時(shí)和時(shí)間更新。另外,由于一些原因,主函數(shù)中的步數(shù)讀取、電量檢測(cè)、心率檢測(cè)、屏幕顯示并不是每一次循環(huán)都執(zhí)行一次。這里的定時(shí)中斷也作為一個(gè)計(jì)時(shí)功能, 步數(shù) 20 秒更新一次,心率模塊 1 分鐘打開一次,亮屏無(wú)操作,5 秒熄滅屏幕。
  這里的 GPIO 中斷主要是用來(lái)切換屏幕顯示頁(yè)面。


代碼1
  從 GPIO 的中斷回調(diào)函數(shù)中可以看出,每次中斷只是把變量 Touch_release 置1,并沒(méi)有直接對(duì)顯示做任何處理,而在定時(shí)中斷的回調(diào)函數(shù)中,判斷變量Touch_release 的值,從而確定我們是長(zhǎng)時(shí)間按鍵,還是短時(shí)間按鍵,來(lái)完成相應(yīng)的處理。
  在定時(shí)器中斷函數(shù)中,檢測(cè)到短時(shí)間觸摸,就打開顯示標(biāo)志位,同時(shí)設(shè)置顯示的頁(yè)面。
  關(guān)于藍(lán)牙收發(fā)部分,我們?cè)谒{(lán)牙收發(fā)章節(jié)的基礎(chǔ)上進(jìn)行了修改,通過(guò)手機(jī)軟件 Wolverine BLE 發(fā)送 step 獲取步數(shù)、發(fā)送 cal 獲取卡路里、發(fā)送 heart 獲取心率值、發(fā)送 rtc 加時(shí)間完成手環(huán)的時(shí)間設(shè)置。下面是函數(shù)


代碼2.1


代碼2.2

  每當(dāng)手環(huán)收到來(lái)自手機(jī)軟件 Wolverine BLE 的數(shù)據(jù)時(shí),首先從 Flash 中讀取步數(shù)和心率數(shù)據(jù)。然后對(duì)比接收到字符串。最后發(fā)送或設(shè)置相應(yīng)的數(shù)據(jù)。這里有一點(diǎn)要注意,我們從 Flash 中讀取到的是數(shù)據(jù),而通過(guò)藍(lán)牙發(fā)送的是字符串,就需要將數(shù)字轉(zhuǎn)換成字符就如同代碼中將一個(gè)位的數(shù)字加上 0x30,換算成該數(shù)字對(duì)應(yīng)的 ASCII 碼值。
  對(duì)于發(fā)送給手機(jī)的卡路里數(shù)據(jù),其實(shí)是通過(guò)三軸步數(shù)計(jì)算過(guò)來(lái)的。消耗的卡
路里跟步數(shù)以及個(gè)人的體重等因素呈比例關(guān)系,大家可以根據(jù)自己的情況修改卡路里與步數(shù)之間的系數(shù)。


代碼3
關(guān)于其他部分代碼,請(qǐng)參考我們的我整機(jī)代碼例程。


2  實(shí)驗(yàn)現(xiàn)象

  首先打開 SmartSnippets。


圖2
  設(shè)置好 SmartSnippets 之后,點(diǎn)擊上圖中的 Open。
  (1)點(diǎn)擊 Connect,連接我們的單片機(jī)。


圖3

  (2)點(diǎn)擊 Erase,擦除 Flash。


圖4

  (3)點(diǎn)擊 Browse,找到我們工程的.hex 文件。


圖5

  (4)點(diǎn)擊 Burn,完成代碼下載。


圖 6
  代碼下載完成之后,運(yùn)行代碼,能看到屏幕顯示時(shí)間。


圖 7
  在時(shí)間顯示界面下,觸摸一下按鍵,會(huì)顯示心率。


圖8

  在心率顯示界面下,觸摸一下按鍵,會(huì)顯示步數(shù)界面。


圖 9

   再觸摸一下按鍵,就會(huì)進(jìn)入卡路里顯示界面。


圖10

  打開手機(jī)軟件 Wolverine BLE。


  (1)點(diǎn)擊 Connect。


圖11

  (2)選擇我們的藍(lán)牙設(shè)備 DIALOG-PRFL。


圖12

  我們發(fā)送 step,會(huì)獲取步數(shù)。


圖 13
  發(fā)送 cal,會(huì)獲取卡路里。


圖14
  發(fā)送 heart,會(huì)獲取心率。


圖15



文件下載請(qǐng)點(diǎn)擊: 9_(100%開源)藍(lán)牙心率防水運(yùn)動(dòng)手環(huán)_整機(jī)功能代碼講解.pdf (1.86 MB)


本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表