OpenHarmony驱动开发--UART(串口)驱动

串口基本内容

接线的时候 自己的TX(发送端)和对方的RX(接收端)相连

如果某个器件的UART是对自己而言的话,就交错接

波特率:一秒传输字节数

起始位:低电平

停止位:高电平

串口处加上校验位,一般是手动的加上校验的数据:和校验,异或校验,CRC校验,主要看器件的厂家如何定义

校验位产生的原因:(串口传输的其中一个特点:没有时钟信号,所以其传输的数据全部依赖于接收方和发送方,它们各自处理器锁自己的时钟频率)芯片的时钟频率会有偏移,芯片内部提供的RC振荡电路,会随着温度的升高,振荡电路不稳定,这样就可能会导致信号错误的接收,所以校验位由此产生

现在一般都不需要loTUartDeinit

串口案例--离线语音模块

离线语音识别系统,所以就需要在其内部定义一些语音词,如果想要升级语音词就需要升级芯片

本身这个芯片就是个mcu

回复语是在该信号处理回复范围之内随机输出

AutoOn--MotorOff开发板工作流程

AutoOn--MotorOff,开发板不需要有回馈

定义一个语音指令,eg:温度的指令,给su-03t,su-03t可以不发出默认回复,串口发送消息给2206,2206采集温度数据,主动把温度数据发送给su-03t,su-03t再语音播放。此时su-03t语音动作的触发条件:串口数据。则取温度(湿度)需要2个指令:语音给su-03t,让它产生一个串口命令给2206,让2206知道接下来做什么,当2206做完这个事之后要给su-03t一个回馈(通过串口的方式)。

红色方框是:端口设置

红色箭头是:串口设置

温度可以没有默认回复

主动退出指令不能和前面的指令重合 (字不能太多一样,最好是一个都不一样,最保险)

开始烧录

将刚才制作的固件下载到电脑中,然后在这个固件文件所在处打开powershell(在空白处(不要把鼠标箭头放在文件上):shift+右键)

如下图所示

  • 解压固件文件
  • 打开
  • 电脑连上板子,端口是靠近语音模块的那个,
  • 语音下载按键拨到右边,
  • 点击云知声UniOne蜂鸟M烧录工具的"烧录"选项,有黄色条框,(黄色条框在哪个就是选中哪个串口)
  • 按一下板子上"烧录前按一下"按键
  • 再次点击云知声UniOne蜂鸟M烧录工具的"烧录"选项
  • 等待即可,出现"下载成功",点击"停止"选项即可

代码

找到案例文件。如下图:

在su_03t文件中找到启动线程函数:su_03t_thread;找到su_03t_thread启动的函数:su03t_init; su03t_init函数在iot_smart_home_example文件的mart_home_thread函数中启动;smart_home.c处理串口指令数据(0101这种的)

su_03t.c:初始化串口信息,读串口信息,读到串口指令就把指令信息发送到smart_home.c(应用层文件)

在e2_iot_smart_security找到BUILD.gn文件,其他都注释掉,只要e1有效。

  • 修改Makefile文件
  • 把其他案例取消掉
  • 在此目录下进入powershell

小tips:

电压越大,电机转速越快

p3m调节战功比《=》调节电压能力

相关推荐
编程圈子7 小时前
电机驱动开发学习25. 弱磁控制与全速域增益调度
驱动开发·学习
T型码农要学习9 小时前
eMMC_命令整理
linux·驱动开发·emmc
恒锐丰-罗生10 小时前
率能半导体 SS6840 单通道 H 桥电机驱动芯片深度解析
驱动开发·嵌入式硬件·硬件工程
恒锐丰-罗生1 天前
国产 H 桥驱动 SS6289|18V/4A 有刷电机驱动芯片性与应用分析 内置采样 + 多保护,门锁 / 机器人优选器件
驱动开发·嵌入式硬件·硬件工程
hkNaruto1 天前
【AI】规范驱动开发(SDD)团队实践指南 v2
人工智能·驱动开发
维多利加5141 天前
RK3588刷机救砖记录(晨芯时代)
驱动开发
做一个AK梦2 天前
测试驱动开发-TDD
驱动开发·tdd
恒锐丰-罗生2 天前
SS8103 芯片解析:45V 同步整流降压半桥恒流驱动控制器 大功率光源国产优选 告别低灰闪烁!
驱动开发·嵌入式硬件·硬件工程
小此方2 天前
Re:Linux系统篇(五十七)线程篇 · 十:基于环形缓冲的生产者消费者模型与信号量
linux·运维·驱动开发
芯片设计-曾工3 天前
YL1621在电池电量显示模块上的替代可行性评估
驱动开发·stm32·单片机·51单片机·硬件工程