0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【国民技术N32项目移植】迷你灯带控制器代码说明

z_tam 来源:z_tam 作者:z_tam 2023-02-14 09:17 次阅读

原文链接

BootLoader UF2移植

  • BootLoader 跳转 APP 函数。

1.jpg

  • 初始化 RTC备份寄存器USBFLASHUF2
    • RTC备份寄存器:APP 复位后把延时等待参数回传给 Bootloader
    • USB:给 UF2 提供底层硬件服务。
    • FLASH:用于擦除和重写APP所在的flash
    • UF2:提供模拟U盘和 .uf2 文件解包功能。

2.jpg

APP配置

  • 通过分散加载文件实现 APP 固件的偏移。

3.jpg

  • 通过修改 ini 文件实现 APP 进入 debug 的时候能正确停在 main 函数。
    4.jpg
  • 最后需要修改中断向量表,使 APP 的中断正常被触发。
NVIC_SetVectorTable(FLASH_BASE, VECT_TAB_OFFSET);

按钮驱动

  • 按键功能使用开源的 multi_button 驱动。

5.jpg

  • 初始化按键驱动,并在 1ms 定时器中断中添加 button_ticks();函数给按键类型检测提供准确的节拍计算。

6.jpg

灯带驱动逻辑

  • 灯带通过单链表记录每一个灯带的参数。

7.jpg

  • 在循环中通过遍历单链表,当链表中的设定的节拍超时后,调用对应的灯带控制算法计算出下一帧的颜色,并在对应通道中输出。

8.jpg

通道初始化

  • 通过宏定义简化了初始化参数,参考下图即可设置初始化参数。

9.jpg

  • 灯效算法通过数组的形式返回计算结果,因此多通道可复用同一灯效算法,并且可根据延时节拍的不同以不同的速度显示。

10.jpg

通道链表

  • 通道链表控制参数。

11.jpg

算法链表

  • 算法链表控制参数。

12.jpg

双链表绑定

  • 通过对 通道链表算法链表 的遍历实现对灯效算法的绑定。

13.jpg

UF2自动构建

  • keil 的设置中添加编译后生成 bin 文件配置,并调用生成的 exe 文件将 bin 文件打包生成 uf2 文件。

14.jpg

  • bin 文件打包成 uf2 程序。

15.jpg

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16159

    浏览量

    177280
  • 移植
    +关注

    关注

    1

    文章

    376

    浏览量

    28104
  • N32
    N32
    +关注

    关注

    0

    文章

    18

    浏览量

    7188
  • bootloader
    +关注

    关注

    2

    文章

    234

    浏览量

    45523
  • 国民技术
    +关注

    关注

    2

    文章

    307

    浏览量

    20353
收藏 人收藏

    评论

    相关推荐

    国民技术N32项目移植迷你控制器简介

    N32G435CBL7为主控的WS2812B控制板。 最多能同时控制8条
    的头像 发表于 02-14 10:37 2783次阅读
    【<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</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><b class='flag-5'>控制器</b>简介

    国民技术N32项目移植迷你控制器#N32g435

    控制器移植开发板
    z_tam
    发布于 :2023年02月14日 18:52:17

    国民技术N32项目移植】BMS项目移植

    移植bmsN32国民技术
    Angel_YY
    发布于 :2023年02月27日 15:53:27

    【名单公布】国民技术N32开源移植挑战赛初审通过名单

    、UART、SPI、I2C、RCC、GPIO等,具体产品/项目移植对外设模块数量不做要求;5.参赛作品代码与文档需要开源。视频规范视频标题:【国民
    发表于 11-15 18:06

    国民技术N32项目移植N32G345XVL-STB项目移植 ——开箱及开发环境搭建

    感谢Elecfans和国民技术,能够参与国民技术N32项目
    发表于 12-03 17:11

    【精品合集】国民技术N32开源移植挑战赛作品合集

    控制器简介【国民技术N32项目移植
    发表于 01-10 13:59

    国民技术N32项目移植】5. ADC应用以及跳坑总结

    SSD1306软件包【国民技术N32项目移植】4. 硬件定时实现2ms定时前言本文讲解如何使
    发表于 02-02 21:45

    国民技术N32项目移植项目提交-物联网心率监控设备

    SSD1306软件包【国民技术N32项目移植】4. 硬件定时实现2ms定时【
    发表于 02-12 16:41

    国民技术N32项目移植】 RTT tcpclient测试

    国民技术N32项目移植】RTT AT ESP8266移植
    发表于 02-16 17:38

    国民技术N32项目移植】FOC项目移植之环境搭建

    FOC项目移植之环境搭建很高兴能够参加国民技术N32开源移植挑战赛,本人这次将在RT-Threa
    发表于 02-24 13:53

    国民技术N32项目移植】简单概括一下我的参赛计划

    移植过来,也借此机会再次学习学习国民技术N32系列芯片。2)实现应用项目实现应用项目阶段,主要
    发表于 02-28 15:06

    国民技术N32项目移植】easypower 介绍

    ,所以此次使用国民技术的mcu做一个项目移植。基于成本和资源的考虑,选择国民技术
    发表于 02-28 23:19

    国民技术N32项目移植N32L43XRL-STB串口调试 使用printf打印日志

    国民技术N32项目移植N32L43XRL-STB串口调试 使用printf打印日志
    的头像 发表于 01-05 09:08 1582次阅读
    【<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</b><b class='flag-5'>项目</b><b class='flag-5'>移植</b>】<b class='flag-5'>N</b>32L43XRL-STB串口调试 使用printf打印日志

    国民技术N32项目移植N32L43XRL-STB串口调试 nr_micro_shell移植

    国民技术N32项目移植N32L43XRL-STB串口调试 nr_micro_shell
    的头像 发表于 01-05 09:10 2031次阅读
    【<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</b><b class='flag-5'>项目</b><b class='flag-5'>移植</b>】<b class='flag-5'>N</b>32L43XRL-STB串口调试 nr_micro_shell<b class='flag-5'>移植</b>

    国民技术N32项目移植迷你控制器ui移植

    控制器ui大致移植过程介绍。
    的头像 发表于 02-14 09:15 1306次阅读
    【<b class='flag-5'>国民</b><b class='flag-5'>技术</b><b class='flag-5'>N32</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><b class='flag-5'>控制器</b>ui<b class='flag-5'>移植</b>