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

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

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

【國(guó)民技術(shù)N32項(xiàng)目移植】迷你燈帶控制器代碼說(shuō)明

z_tam ? 來(lái)源:z_tam ? 作者:z_tam ? 2023-02-14 09:17 ? 次閱讀

原文鏈接

BootLoader UF2移植

  • BootLoader 跳轉(zhuǎn) APP 函數(shù)。

1.jpg

  • 初始化 RTC備份寄存器、USB、 FLASHUF2。
    • RTC備份寄存器:APP 復(fù)位后把延時(shí)等待參數(shù)回傳給 Bootloader。
    • USB:給 UF2 提供底層硬件服務(wù)。
    • FLASH:用于擦除和重寫APP所在的flash。
    • UF2:提供模擬U盤和 .uf2 文件解包功能。

2.jpg

APP配置

  • 通過(guò)分散加載文件實(shí)現(xiàn) APP 固件的偏移。

3.jpg

  • 通過(guò)修改 ini 文件實(shí)現(xiàn) APP 進(jìn)入 debug 的時(shí)候能正確停在 main 函數(shù)。
    4.jpg
  • 最后需要修改中斷向量表,使 APP 的中斷正常被觸發(fā)。
NVIC_SetVectorTable(FLASH_BASE, VECT_TAB_OFFSET);

按鈕驅(qū)動(dòng)

  • 按鍵功能使用開源的 multi_button 驅(qū)動(dòng)。

5.jpg

  • 初始化按鍵驅(qū)動(dòng),并在 1ms 定時(shí)器中斷中添加 button_ticks();函數(shù)給按鍵類型檢測(cè)提供準(zhǔn)確的節(jié)拍計(jì)算。

6.jpg

燈帶驅(qū)動(dòng)邏輯

  • 燈帶通過(guò)單鏈表記錄每一個(gè)燈帶的參數(shù)。

7.jpg

  • 在循環(huán)中通過(guò)遍歷單鏈表,當(dāng)鏈表中的設(shè)定的節(jié)拍超時(shí)后,調(diào)用對(duì)應(yīng)的燈帶控制算法計(jì)算出下一幀的顏色,并在對(duì)應(yīng)通道中輸出。

8.jpg

通道初始化

  • 通過(guò)宏定義簡(jiǎn)化了初始化參數(shù),參考下圖即可設(shè)置初始化參數(shù)。

9.jpg

  • 燈效算法通過(guò)數(shù)組的形式返回計(jì)算結(jié)果,因此多通道可復(fù)用同一燈效算法,并且可根據(jù)延時(shí)節(jié)拍的不同以不同的速度顯示。

10.jpg

通道鏈表

  • 通道鏈表控制參數(shù)。

11.jpg

算法鏈表

  • 算法鏈表控制參數(shù)。

12.jpg

雙鏈表綁定

  • 通過(guò)對(duì) 通道鏈表算法鏈表 的遍歷實(shí)現(xiàn)對(duì)燈效算法的綁定。

13.jpg

UF2自動(dòng)構(gòu)建

  • keil 的設(shè)置中添加編譯后生成 bin 文件配置,并調(diào)用生成的 exe 文件將 bin 文件打包生成 uf2 文件。

14.jpg

  • bin 文件打包成 uf2 程序。

15.jpg

審核編輯:湯梓紅

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

    關(guān)注

    112

    文章

    16027

    瀏覽量

    176635
  • 移植
    +關(guān)注

    關(guān)注

    1

    文章

    375

    瀏覽量

    28072
  • N32
    N32
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    7180
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    233

    瀏覽量

    45459
  • 國(guó)民技術(shù)
    +關(guān)注

    關(guān)注

    2

    文章

    301

    瀏覽量

    20311
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    國(guó)民技術(shù)N32項(xiàng)目移植迷你控制器簡(jiǎn)介

    N32G435CBL7為主控的WS2812B控制板。 最多能同時(shí)控制8條
    的頭像 發(fā)表于 02-14 10:37 ?2681次閱讀
    【<b class='flag-5'>國(guó)民</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>N32</b><b class='flag-5'>項(xiàng)目</b><b class='flag-5'>移植</b>】<b class='flag-5'>迷你</b><b class='flag-5'>燈</b><b class='flag-5'>帶</b><b class='flag-5'>控制器</b>簡(jiǎn)介

    國(guó)民技術(shù)N32項(xiàng)目移植迷你控制器#N32g435

    控制器移植開發(fā)板
    z_tam
    發(fā)布于 :2023年02月14日 18:52:17

    國(guó)民技術(shù)N32項(xiàng)目移植】BMS項(xiàng)目移植

    移植bmsN32國(guó)民技術(shù)
    Angel_YY
    發(fā)布于 :2023年02月27日 15:53:27

    【名單公布】國(guó)民技術(shù)N32開源移植挑戰(zhàn)賽初審?fù)ㄟ^(guò)名單

    、UART、SPI、I2C、RCC、GPIO等,具體產(chǎn)品/項(xiàng)目移植對(duì)外設(shè)模塊數(shù)量不做要求;5.參賽作品代碼與文檔需要開源。視頻規(guī)范視頻標(biāo)題:【國(guó)民
    發(fā)表于 11-15 18:06

    國(guó)民技術(shù)N32項(xiàng)目移植N32G345XVL-STB項(xiàng)目移植 ——開箱及開發(fā)環(huán)境搭建

    感謝Elecfans和國(guó)民技術(shù),能夠參與國(guó)民技術(shù)N32項(xiàng)目
    發(fā)表于 12-03 17:11

    【精品合集】國(guó)民技術(shù)N32開源移植挑戰(zhàn)賽作品合集

    控制器簡(jiǎn)介【國(guó)民技術(shù)N32項(xiàng)目移植
    發(fā)表于 01-10 13:59

    國(guó)民技術(shù)N32項(xiàng)目移植】5. ADC應(yīng)用以及跳坑總結(jié)

    SSD1306軟件包【國(guó)民技術(shù)N32項(xiàng)目移植】4. 硬件定時(shí)實(shí)現(xiàn)2ms定時(shí)前言本文講解如何使
    發(fā)表于 02-02 21:45

    國(guó)民技術(shù)N32項(xiàng)目移植項(xiàng)目提交-物聯(lián)網(wǎng)心率監(jiān)控設(shè)備

    SSD1306軟件包【國(guó)民技術(shù)N32項(xiàng)目移植】4. 硬件定時(shí)實(shí)現(xiàn)2ms定時(shí)【
    發(fā)表于 02-12 16:41

    國(guó)民技術(shù)N32項(xiàng)目移植】 RTT tcpclient測(cè)試

    國(guó)民技術(shù)N32項(xiàng)目移植】RTT AT ESP8266移植
    發(fā)表于 02-16 17:38

    國(guó)民技術(shù)N32項(xiàng)目移植】FOC項(xiàng)目移植之環(huán)境搭建

    FOC項(xiàng)目移植之環(huán)境搭建很高興能夠參加國(guó)民技術(shù)N32開源移植挑戰(zhàn)賽,本人這次將在RT-Threa
    發(fā)表于 02-24 13:53

    國(guó)民技術(shù)N32項(xiàng)目移植】簡(jiǎn)單概括一下我的參賽計(jì)劃

    移植過(guò)來(lái),也借此機(jī)會(huì)再次學(xué)習(xí)學(xué)習(xí)國(guó)民技術(shù)N32系列芯片。2)實(shí)現(xiàn)應(yīng)用項(xiàng)目實(shí)現(xiàn)應(yīng)用項(xiàng)目階段,主要
    發(fā)表于 02-28 15:06

    國(guó)民技術(shù)N32項(xiàng)目移植】easypower 介紹

    ,所以此次使用國(guó)民技術(shù)的mcu做一個(gè)項(xiàng)目移植。基于成本和資源的考慮,選擇國(guó)民技術(shù)
    發(fā)表于 02-28 23:19

    國(guó)民技術(shù)N32項(xiàng)目移植N32L43XRL-STB串口調(diào)試 使用printf打印日志

    國(guó)民技術(shù)N32項(xiàng)目移植N32L43XRL-STB串口調(diào)試 使用printf打印日志
    的頭像 發(fā)表于 01-05 09:08 ?1490次閱讀
    【<b class='flag-5'>國(guó)民</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>N32</b><b class='flag-5'>項(xiàng)目</b><b class='flag-5'>移植</b>】<b class='flag-5'>N</b>32L43XRL-STB串口調(diào)試 使用printf打印日志

    國(guó)民技術(shù)N32項(xiàng)目移植N32L43XRL-STB串口調(diào)試 nr_micro_shell移植

    國(guó)民技術(shù)N32項(xiàng)目移植N32L43XRL-STB串口調(diào)試 nr_micro_shell
    的頭像 發(fā)表于 01-05 09:10 ?1956次閱讀
    【<b class='flag-5'>國(guó)民</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>N32</b><b class='flag-5'>項(xiàng)目</b><b class='flag-5'>移植</b>】<b class='flag-5'>N</b>32L43XRL-STB串口調(diào)試 nr_micro_shell<b class='flag-5'>移植</b>

    國(guó)民技術(shù)N32項(xiàng)目移植迷你控制器ui移植

    控制器ui大致移植過(guò)程介紹。
    的頭像 發(fā)表于 02-14 09:15 ?1248次閱讀
    【<b class='flag-5'>國(guó)民</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>N32</b><b class='flag-5'>項(xiàng)目</b><b class='flag-5'>移植</b>】<b class='flag-5'>迷你</b><b class='flag-5'>燈</b><b class='flag-5'>帶</b><b class='flag-5'>控制器</b>ui<b class='flag-5'>移植</b>