战舰V3适配oneos系列02:添加串口驱动

参考:
https://os.iot.10086.cn/v2/doc/detailPage/documentHtml?idss=157461531750309888&proId=156809201128316928

简介:

Serial 设备是对 uart 硬件的应用抽象层,应用程序通过 OneOS 提供的 Serial 设备管理接口来访问串口硬件。

本开发指南给用户提供了 Serial 的基本配置,Serial 工程配置测试和 API 介绍。

  • 准备项:复制上个教程的stm32f103zet6-atk-warship_v3文件夹,并重命名为stm32f103zet6-atk-warship_v3-serial,如图:

使用STM32CubeMX配置硬件

1.打开 projects\stm32f103zet6-atk-warship_v3-serial\board\CubeMX_Config 下 的 cubemx 工程文件(CubeMX_Config.ioc);
2.在cubemx工程中进行 Serial 配置,如下图所示,选中 UART,配置工作模式,分配引脚;
UART1已配置, 这里以uart3为例, 配置如下


串口参数配置如波特率等按实际情况修改

勾选使能串口中断

DMA建议进行配置,仅勾选中断会在应用中出现丢包情况,待研究驱动层处理方式,此处按官方文档配置DMA


配置完成后点击生成代码

配置和生成工程

在对应的 projects\stm32f103zet6-atk-warship_v3-serial 目录下打开 OneOS-Cube 工具,在命令行输入 menuconfig 打开可视化配置界面;
确保 Drivers-> Enable serial drivers项已勾选

通过 Esc 键退出配置界面,退出时选择保存;

在打开的 OneOS-Cube 工具命令行中输入 scons --ide=mdk5 重新构建工程。

scons --ide=mdk5生成工程时会根据cubemx中的外设配置生成"board/peripherals.c", 这将是设备管理层注册设备信息的依据

  • 使用cubemx生成代码后, 需要调用一次 scons --ide=mdk5 重新生成mdk工程

生成mdk工程后,编译下载,在shell中使用device查看生成的设备
可以看到这里出现了设备uart3

串口外设测试:

将"demos\driver\serial_test.c" 复制到"projects\stm32f103zet6-atk-warship_v3-serial\application"文件夹下,并加入mdk工程中, 编译下载

硬件上将uart3通过USB转串口连接到电脑, 另开一个串口调试助手与uart3通信
测试serial_tx_test 和serial_rx_test命令


短接串口收发引脚也可以快速测试串口是否正常,使用serial_block_test命令测试,自发自收并进行crc校检:

至此成功添加串口驱动

预告:(支线项目, 串口连接esp8266, 通过molink联网, 使用oneoet组件快速接入onenet平台)

战舰V3适配oneos系列02:添加串口驱动相关推荐

  1. 战舰V3适配oneos系列01:bsp适配

    战舰V3适配oneos系列01:bsp适配 本系列以oneos2.3.0提供的STM32F103ZE模板为基础,将oneos在战舰V3上运行起来,并逐步适配相关外设 本系列计划周更 本系列相关代码将上 ...

  2. 战舰V3适配oneos系列03:添加SD卡驱动及文件系统

    战舰V3系列03:添加SD卡驱动及文件系统 本系列以 oneos2.3.0 提供的 STM32F103ZE 模板为基础,将 oneos 在战舰 V3 上运行起来,并逐步适配相关外设,计划周更 本系列相 ...

  3. 战舰V3适配oneos系列05:添加外部SRAM

    战舰V3系列05:添加外部SRAM 本系列以 oneos2.3.0 提供的 STM32F103ZE 模板为基础,将 oneos 在战舰 V3 上运行起来,并逐步适配相关外设,计划周更 本系列相关代码将 ...

  4. 没有ch341驱动_NVIDIA Jetson TX2内核添加串口驱动

    NVIDIA Jetson TX2内核添加串口驱动 2018年02月04日 17:26:39 BumBleBee009 阅读数:2419 转载博客:http://blog.csdn.net/gzj20 ...

  5. RK系列开发板音频驱动适配指南(一)

    背景: 多媒体系统目前在Linux操作系统,windows操作系统已经非常成熟,并且应用场景广泛,但是,基于OpenAtom OpenHarmony(以下简称"OpenHarmony&quo ...

  6. 【全网最全的博客美化系列教程】02.添加QQ交谈链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  7. 【物联网开发】正点原子STM32战舰v3+机智云AIoT+APP控制

    第一步:进入到机智云开发者中心,注册开发者账号,然后开始创建新产品. 图1创建新产品 图2创建新产品以及产品分类 设置好后点击保存,这个时候会跳转到开发向导界面,选择去添加数据点. 图3开发向导 图4 ...

  8. Java 集合系列02之 Collection架构

    概要 首先,我们对Collection进行说明.下面先看看Collection的一些框架类的关系图: Java 集合系列02之 Collection架构 Collection是一个接口,它主要的两个分 ...

  9. 【安全利器SELinux快速入门系列 | 02】SELinux 策略实施的可视化操作指南

    这是机器未来的第40篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/126117336 SELinux 策略实施的可视化操作 ...

最新文章

  1. “期待已久的UFO报告”公布了
  2. JAVA架构师面试题and如何成为架构师
  3. 用ASP.net判断上传文件类型的三种方法
  4. 7.18 collection random os sys等模块
  5. Eclipse换常用的快捷键
  6. 基于JAVA+SpringBoot+Mybatis+MYSQL的新闻发布系统
  7. 在网站中使用Cookie的简单例子
  8. Lucene 的索引文件锁原理
  9. vue安装axios
  10. 【印刷行业】RICOH MH5422和MH5442喷头(G6+)
  11. pythonjson数据解析错误是什么意思_json解析错误怎么办?
  12. C语言中的a = b = c ? d : e;
  13. 前端裁图-如何使用ps软件将矩形图片裁剪成圆角矩形
  14. 利用http://www.forshare.me/qq/访问陌生人的QQ空间
  15. docker里面什么emule比较好_推荐 5 款超好用的开源 Docker 工具
  16. js整形转成double_JS和asp的类型转换函数
  17. Vue项目引入自定义字体
  18. 抖音开启“学浪计划”,想要学习的我却决定卸载了
  19. 一份全面详细的Android 车载系统开发入门指南与面试题
  20. AI超清修复出黄家驹眼里的光、LeCun大佬《深度学习》课程生还报告、绝美画作只需一行代码、AI最新论文 | ShowMeAI资讯日报

热门文章

  1. 微信小程序宠物论坛6
  2. Django教程 —— 模型设计
  3. F score和ROC
  4. 【转】咱们这好吃的..武汉小吃
  5. ACM班×姚班,计算机“黄金一代”迈进巅峰之门
  6. 阿里云mysql目录_mysql数据库目录存放位置更改-阿里云开发者社区
  7. 风之丘 魔女宅急便插曲
  8. 几种常见的网络摄像头_DVR方案_整理
  9. Bellhop 海底地形起伏条件下的传播特性
  10. “我月薪3千月入5万”:不是你不会赚钱,而是你赚钱的方式有问题