51有很多现有可以使用的例程,但是随着对单片机处理性能的提高,需要使用32位的单片机,把程序移植过来,需要考虑的东西比较多。
超声波测距原理:
通过ECHO(外部中断1)引脚被超声波传感器拉高时自动启动和关闭定时器得到计时时间,由传播时间和速度计算出距离。
移植过程:
需要使用到STM32的定时器,选用基本定时器即可。
遇到的问题:
在从51转换到STM32的问题主要是:
定时器类型多,无从选择;
定时器设置方法不同。
如果把STM32上的定时器结构搞清楚了,问题迎刃而解。
STM32F103系统一共包含8个定时器和1个系统滴答定时器(SysTick),另外还有1和实时时钟、2个看门狗定时器。
此处我们使用基本定时器,基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动,在更新事件(计数器溢出)