因课题需求 所以选择了STM公司这款低功耗STM32L0系列芯片,之前买了一块学习板自己学习了一下,后来用自己项目的板子进行了调试,会持续更新的~~
刚开始是自己看官网的例程,学习库知识,后来知道了STM32CubeMX芯片配置工具,目前发现还挺好用的,基本的配置会自动生成代码,比如时钟,初始化等。
ADC+LPUART串口通讯
程序介绍:给ADC的第四通道一个电压,通过AD转换,输出到串口打印信息“The current AD value = ****** V”
调试过程中出现的问题
因为用的内置AD,调试过程不复杂,基本一次就通了,但是串口调试的问题主要是会出现乱码情况,还有16进制显示全都是00 00 00,关于这些问题大多数都是由于波特率不匹配或者是波特率和晶振频率不匹配等。
1.STM32CubeMX
STM32CubeMX里面时钟图还是比较清晰直观的,比较容易上手,从图中可以看出这款芯片的LPUART是低功耗的,并且用的内部时钟(选择LPUART也是因为项目需求,UART类似),而ADC是内部有专用时钟,用HSI16M时钟工作
2.代码部分
#include "main.h"
#include <stdio.h>
ADC_HandleTypeDef hadc;
UART_HandleTypeDef hlpuart1;
ADC_ChannelConfTypeDef sConfig;
static uint32_t adc_conv_var;
float temp;
void SystemClock_Config(void);
static void MX_GPIO_Init(v