ROS小车电量计代码讲解

分六节底层小车代码讲解,本章主要对控制三段电量指示灯代码的讲解

电路板说明

ROS小车实践记录(四)

电量计是通过对电池通过STM32的ADC来测量电池的电压,设置区间控制灯的开关,从而达到电量的显示
打开Huanyu_time.c、Huanyu_charge.c、Huanyu_led.c、main.c
main.c中可以看到初始化(TIM7)定时器7,周期为50ms也就是20Hz,50ms进行一次中断
ROS小车实践记录(四)

传入Huanyu_time.c
ROS小车实践记录(四)
50ms乘以20,也就是以1s的频率去执行Huanyu_BAT_Show
Huanyu_BAT_Show传入的函数叫做Source_Valtage
右键Huanyu_BAT_Show
ROS小车实践记录(四)
查看Huanyu_BAT_Show,发现Huanyu_BAT_Show就是电量的显示
ROS小车实践记录(四)
LED=!LED 闪烁 LED=1为灭灯 LED=0为亮灯
回到Huanyu_time.c在右键查看Source_Valtage
ADC_Channel_15表示通过ADC1的通道15去获取ADC的采样值
ROS小车实践记录(四)
*3.3f的目的是让采样值3.3v的标准来量化,除以4069是因为ADC是12位精度2的12次方即为4096,除以0.16393是用放的比例系数,采样值是按照3.3v标准采样需要和12v之间有一个量化,将3.3v的电压转化为12v的电压

相关文章: