一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

藍(lán)牙開發(fā)零門檻之十四-Cube

海闊天空的專欄 ? 來源:桃芯科技 ? 作者:桃芯科技 ? 2023-11-07 18:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SDK 新工具 Cube 是一個(gè)圖形化的初始化代碼生成器,可為桃芯各種芯片型號(hào)生成 C 代碼。

關(guān)鍵特性

這是一個(gè)交互式工具,輔助開發(fā)者正確配置芯片。各種特性總結(jié)如下:

  • 支持各種芯片型號(hào)
  • 以最直觀的方式完成外設(shè)和時(shí)鐘樹配置
  • 豐富、易用的圖形界面
    • 啟發(fā)式、交互式設(shè)計(jì)
    • 無需文檔,使用方法一目了然
  • 自動(dòng)檢查,減少錯(cuò)誤
  • 管腳沖突
  • 參數(shù)范圍
  • 低調(diào)
  • 生成的代碼匯總于一個(gè)文件
  • 由開發(fā)者決定是否使用它生成的代碼
  • 不會(huì)搞亂開發(fā)者的工程設(shè)置
  • 極快的運(yùn)行速度
  • 所有的檢查都是實(shí)時(shí)進(jìn)行
  • 對(duì)于運(yùn)行環(huán)境要求低
  • 與其它基于 Eclipse 的工具相比,效率不可同日而語
  • 生成的代碼更高效
  • 對(duì)于某些外設(shè)直接輸出“計(jì)算”后的代碼
  • 比調(diào)用驅(qū)動(dòng)程序代碼更短、速度更快

在 Wizard 里右鍵單擊一個(gè)項(xiàng)目,從快捷菜單中選擇“Edit with Cube…”即可打開 Cube。Cube 生成的代碼保存在項(xiàng)目里的 /data/setup_soc.cgen 文件內(nèi),Cube 本身的數(shù)據(jù)保存在 /data/cube_SERIES.dat 文件內(nèi),這里 SERIES 為芯片系列。

要使用 Cube 生成的代碼,只需 3 步:

  1. main.c 里包含 ../data/setup_soc.cgen;
    這行代碼需要在 #include "ingsoc.h" 之后。
  2. setup_peripheral 函數(shù)里調(diào)用 cube_setup_peripherals()
  3. app_main 函數(shù)的開頭調(diào)用 cube_soc_init()

下面通過幾個(gè)具體的場(chǎng)景介紹 Cube 的使用:

使用場(chǎng)景 1. 硬件工程師設(shè)計(jì)天線陣

比如現(xiàn)在要用 ING91880C 設(shè)計(jì)一塊天線陣,天線開關(guān)連哪個(gè) IO 腳?新建一個(gè) ING9188xx 的工程,打開 Cube,將型號(hào)選為 ING91880C,點(diǎn)擊 Antenna,再點(diǎn)擊菜單 Configure,彈出天線開關(guān)編輯窗口。點(diǎn)擊 Enable All,可以用做天線開關(guān)的 IO 腳一目了然:

圖片

使用場(chǎng)景 2. 硬件工程師設(shè)計(jì)LED指示燈

比如現(xiàn)在要用 ING91680A 設(shè)計(jì)一個(gè)產(chǎn)品,其中用到 LED 指示燈,打算使用 PWM 控制閃爍??梢允褂媚膫€(gè) IO 腳?新建一個(gè) ING9168xx 的工程,打開 Cube,將型號(hào)選為 ING91680A,點(diǎn)擊 PWM,再點(diǎn)擊菜單 Configure,彈出 PWM 編輯窗口。馬上就可以直觀檢查哪些管腳可用作PWM 輸出:

圖片

假設(shè)硬件工程師選定使用 IO 16 控制 LED 燈,通知軟件工程師。

使用場(chǎng)景 3.軟件工程師實(shí)現(xiàn) LED 燈的 PWM 控制

軟件工程師繼續(xù)使用 Cube 編輯 PWM。假設(shè)軟件工程師要使 LED 的初始狀態(tài)為 1 秒閃爍一次,占用比 50%。在 Easy 標(biāo)簽下,分別輸入頻率 1Hz,占空比 50%,—— 輸入數(shù)據(jù)時(shí)回車生效。這時(shí),從驗(yàn)證窗口內(nèi)馬上可以看到存在兩處錯(cuò)誤:PWM 的 PERA、HIGH 兩個(gè)數(shù)據(jù)都超出范圍了, 它們最多支持 20 個(gè)比特,即最大為 0xfffff。

圖片

由于 PWM 分頻比例有限,如果降低 PWM 的工作頻率,就能獲得更低頻的輸出。切換到時(shí)鐘樹頁面,我們發(fā)現(xiàn) PWM 有兩種時(shí)鐘可選:一為從 Slow Clk 分頻,一為使用 CLK 32k。讓我們直接使用 CLK 32k。

圖片

回到 PWM 編輯窗口 Channel 0 的 Easy 標(biāo)簽,這時(shí),驗(yàn)證窗口提示一切正常:

圖片

編譯下載程序,連接必要的硬件,即可看到 LED 燈在按要求閃爍。

打開 setup_soc.cgen 文件,可看到最末尾幾行的內(nèi)容為:

// dump PINCTRL registers
APB_PINCTRL- >OUT_CTRL[4] = 0x00001522; // 0x00001547

這是 Cube 對(duì) PINCTRL_SetPadMux(16, IO_SOURCE_PWM0_A) 做了“計(jì)算”后得出的結(jié)果, 顯然比在芯片里執(zhí)行 PINCTRL_SetPadMux(16, IO_SOURCE_PWM0_A) 效率更高。這對(duì)于 ING916XX 系列為重要:因?yàn)?PINCTRL 配置需要查一張復(fù)雜的表格,(https://github.com/ingchips/ING918XX_SDK_SOURCE/blob/07ffc140a28b86dfeda95cc9ea1f560e2b5adeae/src/FWlib/peripheral_pinctrl.c#L265)每次睡眠醒來都需要重新配置, 所以使用 Cube 既可以減小程序體積,對(duì)于降低功耗也有一定好處。

使用場(chǎng)景 4.軟件工程師借助 TIMER 實(shí)現(xiàn) LED 燈的 PWM 控制

由于某些原因,PWM 模塊另有它用,軟件工程師決定改用硬件定時(shí)器輸出 PWM 波形控制 LED 燈。查閱 PinCtrl 模塊的文檔可知, 萬幸 ,IO 16 可用于硬件定時(shí)器 PWM 波形的 A 路輸出。

選用 TIMER2 的 Channel 0 輸出 PWM 信號(hào),從編輯窗口發(fā)現(xiàn)計(jì)數(shù)器長(zhǎng)度僅用 16 比特,切換到時(shí)鐘樹窗口, 將 TIMER2 的時(shí)鐘切換為 32k。這樣,兩個(gè)計(jì)數(shù)數(shù)各配為 16000 就可以輸出 1 秒為周期,占空比 50% 的 PWM 波形了:

圖片

這個(gè)編輯窗口還出現(xiàn)了一個(gè)“陌生”的 “Park Value”,將鼠標(biāo)移動(dòng)到 “?” 上可以了解其功能。編譯下載程序,即可看到 LED 燈在按要求閃爍。

文章來源 桃芯科技

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23826

    瀏覽量

    673632
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52464

    瀏覽量

    440216
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    116

    文章

    6074

    瀏覽量

    173904
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5491

    瀏覽量

    219213
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    門檻阻礙“寬帶中國(guó)” 潛力有效釋放

    信息消費(fèi)雖然前景光明,但要想成功實(shí)施“寬帶中國(guó)”戰(zhàn)略,必須邁過三道門檻。
    發(fā)表于 07-15 11:22 ?1161次閱讀

    門檻踏入以太網(wǎng)的世界,行走物聯(lián)網(wǎng)江湖

    了解以太網(wǎng)協(xié)議,使用MCU的一個(gè)三線串口即可與通訊,大大降低了以太網(wǎng)的門檻,無需牛B的程序員也能玩轉(zhuǎn)以太網(wǎng),節(jié)省了企業(yè)研發(fā)投入。
    發(fā)表于 03-05 17:21 ?4233次閱讀

    每個(gè)人都可以有個(gè)收音機(jī) 0門檻搞定收音機(jī)電路

    ` 本帖最后由 eehome 于 2013-1-5 09:47 編輯 每個(gè)人都可以有個(gè)收音機(jī)0門檻搞定收音機(jī)電路 強(qiáng)大的收音機(jī)電路及其資料基于小51DIY樂在其中收音機(jī)樂趣無窮`
    發(fā)表于 08-18 09:49

    干貨!Android藍(lán)牙驅(qū)動(dòng)開發(fā)經(jīng)驗(yàn)

    干貨!Android藍(lán)牙驅(qū)動(dòng)開發(fā)經(jīng)驗(yàn)?zāi)夸浺?Bluetooth基本概念1二 Android Bluetooth架構(gòu)12.1 Bluetooth架構(gòu)圖12.2 Bluetooth代碼層次結(jié)構(gòu)3三
    發(fā)表于 02-29 15:53

    在FireFly RK3288開發(fā)板上運(yùn)行Flint OS是怎樣的體驗(yàn)?

    Flint OS是一款更快速,更簡(jiǎn)單,更高效的云驅(qū)動(dòng)操作系統(tǒng),從主流x86平臺(tái)電腦設(shè)備到超輕量單板機(jī)物聯(lián)網(wǎng)設(shè)備均可完美適配,是一款可塑性極強(qiáng)的“門檻”操作系統(tǒng)。而FireFly RK3288開發(fā)
    發(fā)表于 03-08 17:55

    Android藍(lán)牙驅(qū)動(dòng)開發(fā)總結(jié)

    Android藍(lán)牙驅(qū)動(dòng)開發(fā)總結(jié)
    發(fā)表于 07-15 16:44

    STM32H7打破CoreMark2000分門檻,喜歡STM32的嵌友可以上手了

    STM32H7打破CoreMark 2000分門檻,喜歡STM32的嵌友可以上手了!意法半導(dǎo)體發(fā)布全新微控制器STM32H7。該新產(chǎn)品是業(yè)界性能最高的Arm Cortex-M通用MCU,集強(qiáng)勁的雙
    發(fā)表于 04-23 15:22

    ShineBlink是什么?有何作用

    ShineBlink是一款門檻開發(fā)環(huán)境、低代碼的萬能物聯(lián)網(wǎng)智能硬件開發(fā)板機(jī)智云為開發(fā)者提供
    發(fā)表于 02-22 06:10

    機(jī)智云邊緣操作管理系統(tǒng)及邊緣服務(wù)器滿足企業(yè)全球化需求

    機(jī)智云自助開發(fā)平臺(tái),作為一個(gè)門檻、超低代碼的iot開發(fā)平臺(tái),通過傻瓜化的自助工具、在線可視化開發(fā)環(huán)境、圖形化
    的頭像 發(fā)表于 09-30 16:06 ?2983次閱讀

    采用百度飛槳EasyDL完成指定目標(biāo)識(shí)別

    EasyDL從2017年11月中旬起,在國(guó)內(nèi)率先推出針對(duì)AI算法基礎(chǔ)或者追求高效率開發(fā)的企業(yè)用戶的門檻AI開發(fā)平臺(tái),提供從數(shù)據(jù)采集、標(biāo)注
    的頭像 發(fā)表于 08-14 10:30 ?2617次閱讀

    4G氣象站的設(shè)計(jì)與實(shí)現(xiàn)

    ShineBlink 是一款門檻、開發(fā)環(huán)境、低代碼的萬能物聯(lián)網(wǎng)智能硬件開發(fā)
    的頭像 發(fā)表于 08-27 11:17 ?1190次閱讀

    開發(fā)者案例:智能加濕器

    ShineBlink是一款門檻、開發(fā)環(huán)境、低代碼的萬能物聯(lián)網(wǎng)智能硬件開發(fā)板機(jī)智云為開發(fā)者提供
    的頭像 發(fā)表于 08-29 16:47 ?1485次閱讀
    <b class='flag-5'>開發(fā)</b>者案例:智能加濕器

    低代碼快速開發(fā)智能產(chǎn)品新系統(tǒng)

    聯(lián)網(wǎng)系統(tǒng)。作為一個(gè)門檻、超低代碼的自助開發(fā)平臺(tái),通過傻瓜化的自助工具、在線可視化開發(fā)環(huán)境、圖形化開發(fā)界面、完善的SDK與API服務(wù)能力,最
    的頭像 發(fā)表于 09-09 14:32 ?739次閱讀
    低代碼快速<b class='flag-5'>開發(fā)</b>智能產(chǎn)品新系統(tǒng)

    標(biāo)普云DeepSeek一體機(jī)發(fā)布:門檻部署企業(yè)DeepSeek

    標(biāo)普云DeepSeek一體機(jī)重磅發(fā)布:開箱即用,門檻快速部署企業(yè)自己的DeepSeek 在AI技術(shù)加速滲透千行百業(yè)的今天,企業(yè)如何既保障數(shù)據(jù)安全,又快速落地智能化應(yīng)用? 2024年2月14日,標(biāo)普
    的頭像 發(fā)表于 02-17 16:49 ?568次閱讀

    運(yùn)動(dòng)控制模塊:Delta機(jī)械手柔性上下料開發(fā)門檻!

    正運(yùn)動(dòng)運(yùn)動(dòng)控制模塊結(jié)合第三方視覺實(shí)現(xiàn)Delta機(jī)械手柔性上下料應(yīng)用開發(fā)
    的頭像 發(fā)表于 05-23 10:29 ?163次閱讀
    運(yùn)動(dòng)控制模塊:Delta機(jī)械手柔性上下料<b class='flag-5'>開發(fā)</b><b class='flag-5'>零</b><b class='flag-5'>門檻</b>!