1841|2

1588

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【上海航芯 ACM32F070开发板+触控功能评估板测评】+UART及超声波测距 [复制链接]

 

ACM32F070开发板配有3个串行口,其引脚分配及波特率设置如下:
UART1 :打印调试串口,支持printf,管脚:A9:Tx、A10:Rx,波特率:115200。
UART2 :用户串口,管脚:A2:Tx、A3:Rx ,波特率:115200。
UART3  :用户串口,管脚:B10:Tx、B11:Rx,波特率: 9600。
充分利用好这些串口,可控制各种串口设备和器件来有效地扩展系统的功能。
这里以一款串口控制的超声波距离检测模块为例来介绍串口的使用,所使用的是UART2,其线路构成如图1所示。

图1 线路构成

该测距模块的使用方法是,以串口发送采集指令“0x55”,则可接收到一个4字节的反馈数据。
设反馈数据的数据为:“FF 07 A1 A7”,则0x FF 为引导符,0x07 为距离的高位数值,0xA1 为距离的低位数值,0xA7是校验码。
其中校验码的计算方法为: SUM=A7=(0x07+0xA1+0Xff)&0x00ff
距离值0x07A1转换成十进制则是 1953,其单位是毫米。
该测距模块的最近检测距离约 21cm,最远检测距离约 600cm。

在串口调试工具的帮助,可直接对测距模块进行检测,其测试结果如图2所示。

图2 串口测试

在OLED屏的配合下,实现图3和图4所示检测效果的主程序如下:

  • int main(void)
  • {
  •     int l;
  •     uint8_t gu8_TxBuffer1[1]={0X55};
  •     uint8_t gu8_RxBuffer1[5];
  •     System_Init();
  •     Uart_Init(9600);
  •     app_OLED_Init();
  •     OLED_Init();
  •     OLED_Clear();
  •     OLED_ShowString(0,0,"ACM32F070 ",16);
  •     OLED_ShowString(0,2,"OLED & DYP_A06 ",16);
  •     OLED_ShowString(0,4,"distance:",16);
  •     OLED_ShowString(48,6,"(mm)",16);
  •     HAL_UART_Transmit(&Uart2_Handle, gu8_TxBuffer1, 1, 0);
  •     while(1)
  •     {
  •             HAL_UART_Receive(&Uart2_Handle, gu8_RxBuffer1, 4, 200);
  •             if(gu8_RxBuffer1[0]==0XFF)
  •             {
  •                  l=gu8_RxBuffer1[1]*256+gu8_RxBuffer1[2];
  •                  OLED_ShowNum(0,6,l,4,16);
  •                  System_Delay_MS(500);
  •                  HAL_GPIO_WritePin(GPIOD, GPIO_PIN_3, GPIO_PIN_CLEAR);
  •                  gu8_RxBuffer1[0]=0XEE;
  •                  gu8_RxBuffer1[1]=0;
  •                  gu8_RxBuffer1[2]=0;
  •                  HAL_UART_Transmit(&Uart2_Handle, gu8_TxBuffer1, 1, 0);
  •             }
  •     }
  • }

图3 检测效果1

 

图4检测效果2

当然,也可以同功能扩展板上的LCD屏相配合来显示检测结果。
 

最新回复

超声波测距用的探头是哪个频段的?有没有尝试过测气体浓度   详情 回复 发表于 2022-11-1 06:54
点赞 关注
 
 

回复
举报

6878

帖子

9

TA的资源

版主

沙发
 

超声波测距用的探头是哪个频段的?有没有尝试过测气体浓度

点评

哪个频段手头没有相关的资料介绍,要测气体浓度恐怕要求气体对声波的速度影响比较明显才能反映出时间差。  详情 回复 发表于 2022-11-1 16:02
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

1588

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 
秦天qintian0303 发表于 2022-11-1 06:54 超声波测距用的探头是哪个频段的?有没有尝试过测气体浓度

哪个频段手头没有相关的资料介绍,要测气体浓度恐怕要求气体对声波的速度影响比较明显才能反映出时间差。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
ARM JTAG调试常见问题

1 - 检测不到目标系统 调试前,请把目标板连接好,然后用调试软件检测目标系统。如果检测不到目标系统,请做 以下的检查。 A - ...

AVR单片机工具软件集锦---连载中

从网上搜集来的AVR相关的小工具软件,供大家分享 需要特别说明的是,这些软件是从网上搜集来的,我本人无意侵占相关作者的版权, ...

再上一辑,FPGA示波器!双通200M+200M采样,模拟带宽25M,开源,正学习FPGA网友细看了。

俯身苦干几个月,软硬件终于调试差不多了!出关,给大家看个鲜。 感谢坛中avic及各位高手的贴子,从中学习了很多!!! 性能目标 ...

读取LPC ARM芯片唯一序列号的方法

对于ARM芯片基本都有唯一序列号,这产权保护,产品加密,产品序列号设置带来了极大的方便。但是不同厂家,甚至同一厂家不同系列 ...

MSP430单片机的开关电源

作者:Freedomz 1 引 言 MSP430系列单片机是美国TI公司生产的新一代16位单片机,是一种超低功耗的混合信号处理器(MixedSigna ...

以太网LED不亮

484575 万能的论坛大神们,问一下,这个硬件电路设计上是否存在问题,把网线连接上去,网口LED都不会亮的,更不用说后面的收 ...

单片机中PWM的工作原理解析

PWM在单片机中的应用是非常广泛的,它的基本原理很简单,但往往应用于不同场合上意义也不完全一样,这里我先把基本概念和基本原 ...

电压比较器LM393两路输出不正常

电路要实现的目的:输入一信号Vin,与参考电压比较,输出对应两路信号,一输出为高电平,一输出为低电平。使用电压比较器lm393 ...

[ST NUCLEO-WBA52CG] 7 - 在BLE协议栈的后台处理函数中添加自己的代码

前面测评的时候,提到了BLE的协议栈是使用sequencer来实现后台任务的管理的,除了sequence以外还提供了定时器函数。因此如果我们 ...

喜欢奥迪的不要错过

本帖最后由 小斯克 于 2023-12-8 17:22 编辑 通过百度网盘分享的文件:奥迪 链接:https://pan.baidu.com/s/1vpPjdXKnTaj_gbVl ...

关闭
站长推荐上一条 1/10 下一条
有奖探索 | 和村田一起,深挖 GNSS 开发!
活动时间:即日起-5月11日
活动奖励:智能手环、螺丝刀套装、双肩包

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 13

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表