yelvlab 53fadd4c22 用gd32e230的stdlib重写wbh的参考代码,并因为stm的stdlib和gd32的stdlib有很大差异,超时机制与flag验证差异较大,通过对比重新编写。
数据计算方式重新书写,两个8位数据的合并方式修改为位移,并且整体放大100倍(标准数据为((Data[1] << 8) | Data[0]) * 0.02 - 273.15)
2024-10-09 10:38:39 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-25 10:52:58 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-23 18:46:32 +08:00
2024-09-26 10:07:43 +08:00

XLSW-3DP-Ultrasonic-300K

TODO List

  • 超声驱动信号300KHz 50%duty 5cycles发送

  • PA2/PA3配置为USART0

  • LED配置存活状态闪烁

  • 超声反射回波接受与精准计时

  • 超声波反射回来后到sensor成功接收GPIO上的反应主要分为两部分

    1. 超声波在发送时产生的余震24V下大概为230us12V下大概为210us。前面所说的时间均为比较保守的时间
    2. 超声波会在接触到目标后反射回sensor上并产生一个低电平主要就是检测这部分。
  • 产生一个210-230us可调节的准确延时。TIMER15配置为1us计一个数设置重载为需要的时间产生中断即可。

  • 在产生指定时间的中断服务函数中开启EXTI0PA0,sensor信号接收引脚开启TIMER14计时计数器1us计一个数计算接收到外部中断的时间

  • 在外部中断服务函数中产生一个事件或中断进入到TIMER14的中断

  • TIMER14不存在F4x系列改用TIMER16.

  • 放弃上述流程多一层中断层直接在EXTI0的中断服务函数中直接读取TIMER16的CH_0计数值。

Description
No description provided
Readme 14 MiB
Languages
C 98.5%
Assembly 0.8%
CMake 0.7%