freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于cc2540的照明控制系統(tǒng)設計畢業(yè)設計(編輯修改稿)

2025-08-16 08:09 本頁面
 

【文章內(nèi)容簡介】 第 13 頁 屬性協(xié)議層簡稱為“屬性”,能夠通過它向其他設備展示自己特定的屬性數(shù)據(jù),在一些環(huán)境中,我們也把展示設備屬性的設備稱作為服 務器,如在 ATT 環(huán)境中,當然有服務器就會有相應的客戶端,它是與屬性設備配對的設備,并且主機和從機的鏈路層狀態(tài)是與相應設備的 ATT 角色是相互獨立各不相關。 通用屬性配置文件層是一種定義使用 ATT 相關服務的框架,并且在 ATT 服務上面屬于的一層結(jié)極,這當中的 GATT 規(guī)定相關配置文件的結(jié)極,這一服務模塊被相應的機構稱之為“特性”,這種特性是建立在兩個設備連接之間的所有數(shù)據(jù)之間進行的相關通信,并且它們是 GATT 的子程序處理過,再在應用程序中在 GATT 層直接簡單的進行使用。 TI公司免費的藍牙 BLE軟件 開發(fā)套件是完整地支持單模藍牙 BLE應用開發(fā)的平臺,它基于 CC2540/CC2541 射頻單片機,藍牙 BLE 軟件平臺支持兩種不同的應用開發(fā)配置。 協(xié)議棧工作流程如圖 所示: 圖 協(xié)議棧工作流程 第 14 頁 操作系統(tǒng)抽象層 OSAL OSAL(操作系統(tǒng)抽象層)是類似于一個系統(tǒng)的抽象層,但它不是一個真正意義上的操作系統(tǒng)。 OSAL 常用術語: 在本次設計任務中,為了方便我本次設計,需要了解到一些關于 OSAL 的常用術語,如資源、共享資源和任務等。任務 是 OSAL 的一個重要術語,在設計任務時,我們需要將一個大的任務分成許多個小的任務,再把這些小任務通過相關的技術要求組織起來,這些獨立小任務的完成,也有一定的優(yōu)先級,同時它們一般都擁有自己的寄存器和堆??臻g。在設計時,我們常常使用到內(nèi)核,借助內(nèi)核可以使得程序的設計方法大大簡化,并且能夠使得一個任務通過不同的小任務表現(xiàn)出來且得到我們的要求實現(xiàn)。 保護共享資源最常用的方法是: ; ; ; 。 其中,在藍牙 BLE 協(xié)議棧內(nèi)嵌操作系統(tǒng)中,關中斷是 我們經(jīng)常采用的方法。在藍牙 BLE 協(xié)議棧中, OSAL 主要提供以下功能: 、初始化和啟動; 、互斥; ; ; 。 在新推出的藍牙 BLE 協(xié)議棧中,其中有三個變量值得一提: tasksCnt:該變量保存了任務的總個數(shù)。 該變量的聲明為: uint8 taskCnt。其中 uint8 的定義為: typedef unsigned char uint8。 taskEvents:這是一個指針; 該變量的聲明為: uint16 *taskEvents。其中 uint16 的定義為: typedef unsigned short uint16。 taskArr:這是一個數(shù)組; 該數(shù)組的聲明為: pTaskEventHandlerFn taskArr[].這是一個函數(shù)指針,指向了對應的事件處理函數(shù)。 第 15 頁 硬件抽象層 HAL 硬件抽象層( HAL)是一層提供硬件服務而又不涉及太多硬件細節(jié)的,是為應用程序提供訪問 GPIO、 UART、 ADC 等硬件的接口。 硬件抽象層文件目錄如圖 所示: 圖 HAL 文件目錄 HAL Include 文件夾包含 HAL 驅(qū)動及 HAL 相關文件的頭文件,如圖 所示: 圖 Include 文件下頭文件 HAL Target 文件夾下的 Drivers 包含所有 HAL 驅(qū)動的“ .c”文件。 配置文件層介紹 藍牙 BLE 協(xié)議棧的配置文件層包括 GAP 角色 /安全配置文件、 GATT 配置文件兩部分。 第 16 頁 ( 1)通用訪問配置文件( GAP): BLE 協(xié)議棧中的 GAP 層負責處理設備訪問模式和程序,包括設備發(fā)現(xiàn)、建立連接、終止連接、初始化安全特色和設備配置。 GAP 層總是作為下面四種角色之一: 廣播者 — 不可連接的廣播設備; 觀測者 — 掃描廣播,但不發(fā)起建立連接; 外部設備 — 可連接的廣告設備,可以在單個鏈路層連接中作為從機; 集中器 — 掃描廣告設備并發(fā)起連接,在單鏈路層或多鏈路層作為主機,目前,BLE 協(xié)議棧支持一個集中器連接三個外設。 在藍牙系統(tǒng)典型的低功耗設計系統(tǒng)中,通過外部設備的廣告特定數(shù)據(jù)使得集中器來辨別它是否是一個可以通過相關連接的設備。這些廣告設備的內(nèi)容有很多種,比如說設備的地址以及一些相關的額外數(shù)據(jù)和一些設備名稱。當這些設備使得集中器收到數(shù)據(jù)廣告后,然后在通過相應的外部設備發(fā)送用戶指定的掃描 請求,經(jīng)過一些簡單的處理,通過外部的一些設備將一些系統(tǒng)特定的數(shù)據(jù)反饋回給集中器,這一階段我們稱之為掃描回應。當它收到這一階段的掃描回應后,通過系統(tǒng)判斷便知道它是一個可以連接的外部設備,這一過程我們稱之為設備的發(fā)現(xiàn)過程。再之后,系統(tǒng)就向外發(fā)送建立連接設備的請求。 從機延遲 — 這個參數(shù)的設置可以使從機(外部設備)跳過若干連接事件,這給了外設更多的靈活度,如果它沒有數(shù)據(jù)發(fā)送時,可以選擇跳過連接事件繼續(xù)休眠,以節(jié)省功耗。 管理超時 — 這是兩個連接成功的事件之間允許的最大間隔。如果兩個設備之間的鏈接超過了這個時間但是卻沒 有鏈接成功,則設備被認為是丟失連接,返回到未被連接的狀態(tài)。這個值的單位是 10ms,管理超時的范圍是 10( 100ms) ~3200( 32ms)。另外,超時值必須大于有效的連接間隔 [有效的連接間隔 =連接間隔 *( 1+從機延遲) ]。 外設可以通過向集中器發(fā)送“連接參數(shù)更新請求”來改變連接設置,這個請求由協(xié)議棧的 L2CAP 層來處理。這個請求包含 4 個參數(shù):最小連接間隔、最大連接間隔、從機延遲、超時。這些值代表了外設所要求的連接參數(shù)。當集中器收到請求后,可以選擇接受或拒絕這些新的參數(shù)。 連接可以被主機或從機以任何原因自動終 止。當一方發(fā)起終止連接時,另一方必須響應。然后兩個設備才能退出連接設備。 ( 2)通用屬性配置文件( GATT) 主機既可以是 GATT 客戶端也可以是 GATT 服務器;從機既可以是 GATT 客戶端也可以是 GATT服務器。在藍牙 BLE協(xié)議棧中的 SimpleBLEPeripheral應用中, 第 17 頁 有三個 GATT 服務。 GATT 定義了在 BLE 連接中發(fā)現(xiàn)、讀取和寫入屬性的子過程。屬性表是一個數(shù)據(jù)庫,包含了稱為屬性的小塊數(shù)據(jù),除了值本身,每個屬性都包含下列屬性: 句柄 — 屬性在表中的地址,每個屬性有唯一的句柄; 類型 — 表示數(shù) 據(jù)代表的事務,通常是藍牙技術聯(lián)盟規(guī)定或由用戶自定義的UUID( Universally Unique Identifier); 權限 — 規(guī)定了 GATT 客戶端設備對屬性的訪問權限,包括是否能訪問和怎樣訪問。 GATT 定義了若干在 GATT 服務器和客戶端之間的通信的子過程。 下面是一些子過程: 讀特性值 — 客戶端設備請求讀取句柄處的特性值,服務器將此值回應給客戶端(假定屬性有讀權限)。 使用特性的 UUID 讀 — 客戶端請求讀基于一個特定類型的所有的特性值,服務器將所有與指定類型匹配的特性的句柄和值回應給客戶端設備(假設屬性 有讀權限)。 讀多個特性值 — 客戶端一次請求中讀取幾個句柄的特征值,服務器將這些特征值回應給客戶端(假設屬性有讀權限)。客戶端需要知道如何解析這些不同的特性值的數(shù)據(jù)。 設計所用工具 IAR IAR Embedded Wordbench(又稱 EM)的 C 交叉編譯器是一款完整、穩(wěn)定且容易使用的專業(yè)嵌入式應用開發(fā)工具, IAR 對不同的微處理器提供統(tǒng)一的用戶界面,目前可以支持至少 35 種的 8 位、 16 位、 32 位的 MCU。其特點如下: C 語言。 。 。 。 ,使用的 IAR 版本是 。 藍牙 協(xié)議棧 BLE 協(xié)議棧需要自己先在電腦上安裝, BLE 協(xié)議棧里面存放的是 BLE 協(xié)議棧的源代碼, TI 公司將會陸續(xù)退出協(xié)議棧新版本,但是為了配合 IAR 的版本,所以這次的設計采用的是 版本的 BLE 協(xié)議棧。 協(xié)議棧文件夾下有以下幾個目錄: 第 18 頁 Accessories—— \Accessories\Drivers 里面存放的是燒寫了 HostTestRelease 程序的 CC2540 USBDongle 的 USB 轉(zhuǎn)串口驅(qū)動的程序,有的時候 USBDongle 插到電腦上沒有被識別成串口號,這里就要注意 USBDongle 出廠時燒寫的是 PacketSniffer的固件,是協(xié)議分析儀,叧外當 USBDdongle 燒寫了 HostTestRelease 程序時才會表現(xiàn)為一個串口,此時 USBDongle 的驅(qū)動程序就在 Drivers 目錄下。 目錄 \Accessories\HexFiles 里面存放的是 TI 開發(fā)板上預先編譯好的 hex 文件。 目錄 \Accessories\BTool 里存放的是 BTOOL 的 安裝文件,不過不需要手動安裝,因為剛才安裝協(xié)議棧的時候已經(jīng)安裝 BTOOL。 Components—— 目錄 Components 存放的協(xié)議棧組件是最終需要的,包括底層的 BLE 和開發(fā)板硬件層 HAL,還有類似操作系統(tǒng)的 OSAL。 Documents—— 目錄 Document 下存放的是 TI公司提供的有關于協(xié)議棧和協(xié)議棧 demo 的相關介紹和開發(fā)文檔,因為該目錄下的文件非常重要,雖然全部是英文,也是需要查看的: 《 》協(xié)議棧 demo 操作指南,協(xié)議棧 里所有 demo 的說明都在這里。 《 TI_BLE_Software_Developer39?!?BLE 協(xié)議棧指南,介紹 BLE 和 TI的 BLE 協(xié)議棧。 《 》 BLE API 文檔,協(xié)議棧里調(diào)用的 API 函數(shù)還有調(diào)用時序,都是在這個文檔當中的。 Projects\ble—— 目錄 Projects\ble,是最后一個也是最重要的一個目錄,基于協(xié)議棧的所有 demo 工程都在這里。 所有的協(xié)議棧 demo 都要放到 Projects/ble 這個目錄下編譯并且運行,因為 IAR程配置中使用的是相對路徑,一旦 IAR 工程位置和整個協(xié)議棧源碼的相對位置發(fā)生變化,就無法找到 ble 的其他組件,編譯時會產(chǎn)生大量的無法找到文件的錯誤,所有程序必須要放到這里來編譯。 BTool BTool 是一款 TI 公司出品的,與 CC2540 開發(fā)配套的 PC 端應用程序,通過使用主機控制接口( HCI)命令的方式與藍牙 BLE 外設通信。 Btool 允許用戶使用基本的 BLE 集中器設備功能,例如發(fā)現(xiàn)藍牙外設或廣播設備、建立與外設的連接、進行 GATT 應用數(shù)據(jù)的讀寫操作、綁定服務等。因此,可以在 PC 端使用 Btool工具來進行藍牙外設應用程序的開發(fā)調(diào)試。 Flash Programmer 第 19 頁 Flash Programmer 也是一款 TI 的官方軟件,與 SmartRF04EB 配合使用,向 EM開發(fā)板燒寫 HEX 文件。 HostTestRelease 主機編程 主機端由 CC2540 USBDongle、 PC 和 TI 官方的上位機軟件 BTool 共同構成,也可以使用串口助手等串口調(diào)試軟件代替 BTool。 要向 CC2540 USBDongle 中燒寫 HostTestRelease 程序才能實現(xiàn)其作為主機的功能。 USBDongle 是 USB 口的,通過內(nèi)部軟件模擬成串口,實現(xiàn)串口通信。 打開 SimpleBLEPeripheral 從機工程。 Projects\ble\HostTestApp\CC2540\ 進入 主體源文件。 HostTestRelease 網(wǎng)絡處理器工程結(jié)構和一般的協(xié)議棧 demo
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1