物联网开发实战
郭朝斌
小米生态链企业秒秒测 IoT 事业部总监,前诺基亚高级工程师
17380 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
物联网开发实战
15
15
1.0x
00:00/00:00
登录|注册

实战一|嵌入式开发:如何使用C语言开发智能电灯?

你好,我是郭朝斌。
作为 RISC-V 开发板动手实践的第一讲,我们从智能灯的嵌入式开发开始吧。
智能灯硬件最重要的功能是控制 LED 灯的颜色和开关,这就涉及到 PWM 信号的生成和继电器的控制。之前我们是使用 Python 语言在 NodeMCU 开发板上实现的。那么,这些功能如何在 RISC-V 芯片上,使用 C 语言实现呢?
别着急,我来一步一步地讲解一下。

开发板介绍

上一讲已经提到,我们使用的开发板是平头哥(T-Head)公司设计开发的 RVB2601 开发板。主控芯片代号是 CH2601,它基于平头哥开源的玄铁 E906 处理器内核 IP 设计开发,具体的指令集架构是 RV32IMACX。
根据上节学到的 RISC-V 指令集知识,你可以知道这代表它采用 RISC-V 32bit 基本整数指令子集,并且包含整数乘法与除法指令子集,不可中断指令(也称作存储器原子操作指令)子集,压缩指令子集,这些标准扩展指令集。
其中,压缩指令子集对于嵌入式芯片非常重要,它可用于提高代码密度,节省存储成本。最后的代号"X"表示玄铁 E906 自定义的一些扩展指令集,这也是 RISC-V 指令集架构可扩展性的体现。
说了这么多,我们来看一下 RVB2601 开发板的实物图。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

在本文中,作者详细介绍了在RISC-V芯片上使用C语言开发智能电灯的全过程。首先,介绍了RVB2601开发板和CH2601主控芯片的特点,以及外围器件和I/O接口分布。随后,详细介绍了开发环境的搭建和程序开发的步骤,包括安装集成开发环境、创建工程项目、编译、烧录和运行。在智能灯的开发部分,提供了电路连接图和注意事项,涉及PWM信号生成、继电器的控制实现以及主逻辑编写的相关内容。最后,介绍了在云上实验室中体验RVB2601开发板的方法。读者可以通过云上实验室体验RVB2601开发板,并尝试修改代码来运行。整体而言,本文通过实际操作的方式,详细介绍了在RISC-V芯片上使用C语言开发智能电灯的全过程,适合嵌入式开发初学者参考。文章还提出了挑战,鼓励读者在完成实验后尝试为开发板上自带的用户按键开发代码,实现按键控制继电器通断的功能。同时,下一节将介绍连接物联网平台,并实现联网控制的方法。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《物联网开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 冬Jeff
    👏👏
    2023-02-02归属地:广东
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部