我们是直接将两个电阻分压后电压送入到STM32 的AD 口进行采集,计算出分压后的电压,然后再通过分压比例,计算出电池的电压。开发板上电池的电压为AD 口采集到的电压的2 倍。
◆ 外部时钟电路
时钟是微控制器的脉搏,重要性可想而知,微控制器都需要一个基本的时钟节拍,即时钟基准,不然会导致时序错乱,完全乱套了,系统就崩溃了。一般,我们需要为STM32F103 芯片提供一个外部时钟源,一般使用8MHz 的无源石英晶振,如下图所示:
实际上,STM32F103 芯片内部也有一个主时钟源,也是8MHz 的,但是一般我们不使用,而是使用外部晶振,主要是处于稳定性的考虑。另外,为使用RTC(实时时钟、万年历)还需要提供32.768 KHz 的时钟源,由于芯片内部提供时钟是32KHz,不是2 的N 次方,无法得到准确的时间,所以,为得到精准的时间,我们需要用外部的32.768 KHz 的晶振,电路设计如下图所示:
◆ 串口下载/调试
OWL Micro F1 开发板上集成了一颗USB 转TTL 电平的芯片CH340E,有了这款芯片,用户可以直接使用ISP 串口下载程序,同时也可以用来做串口通信的实验。CH340E 的应用电路如下图所示:
CH340E 这款芯片的外围电路相比于其他同类型芯片来说,简直是简单的不要不要滴!
在进行ISP 下载时,我们首先要将BOOT0 设置为高电平,BOOT1 设置为低电平,即:将板子上的B0 跟H 短接,B1 跟L 短接,这样STM32F103 就可以进入ISP 下载模式了,如下图所示: