希腊网站 后缀,wd网页设计教程,wordpress 中文连接,体育 网站建设询价函格式文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟#xff0c;并修改时钟树1.2 打开ADC1的通道3#xff0c;并配置为连续采集模式(ADC根据自己需求调整#xff09;1.3 打开串口1.4 生成工程 2. 配置ADC2.1 打开ADC驱动2.2 声明ADC2.3 剪切stm… 文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟并修改时钟树1.2 打开ADC1的通道3并配置为连续采集模式(ADC根据自己需求调整1.3 打开串口1.4 生成工程 2. 配置ADC2.1 打开ADC驱动2.2 声明ADC2.3 剪切stm32l4xx_hal_msp.c中的HAL_ADC_MspInit函数至board.c2.4 使能ADC一般默认打开 3. 打开libc4.编译烧录 前言
本文采用开发板为STM32L475VET6(潘多拉开发板),使用RT_Thread Studio基于芯片开发模式完成ADC实验实现对板载3.3v和GND电压采集 一、板载资源
使用引出I/O口PC2对应ADC1的通道一 二、具体步骤
1.打开CubeMX进行配置
1.1 使用外部高速时钟并修改时钟树 1.2 打开ADC1的通道3并配置为连续采集模式(ADC根据自己需求调整 1.3 打开串口 1.4 生成工程 2. 配置ADC
官方配置步骤
2.1 打开ADC驱动
在RT-Thread Setting的组件栏中
2.2 声明ADC 2.3 剪切stm32l4xx_hal_msp.c中的HAL_ADC_MspInit函数至board.c 2.4 使能ADC一般默认打开 3. 打开libc 4.编译烧录
将PC2连接至开发板3.3V的I/O口
#include rtthread.h#define DBG_TAG main
#define DBG_LVL DBG_LOG
#include rtdbg.h/** 程序清单 ADC 设备使用例程* 例程导出了 adc_sample 命令到控制终端* 命令调用格式adc_sample* 程序功能通过 ADC 设备采样电压值并转换为数值。* 示例代码参考电压为3.3V,转换位数为12位。
*/#include rtthread.h
#include rtdevice.h#define ADC_DEV_NAME adc1 /* ADC 设备名称 */
#define ADC_DEV_CHANNEL 3 /* ADC 通道 */
#define REFER_VOLTAGE 330 /* 参考电压 3.3V,数据精度乘以100保留2位小数*/
#define CONVERT_BITS (1 12) /* 转换位数为12位 */static int adc_vol_sample(int argc, char *argv[])
{rt_adc_device_t adc_dev;rt_uint32_t value, vol;rt_err_t ret RT_EOK;/* 查找设备 */adc_dev (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);if (adc_dev RT_NULL){rt_kprintf(adc sample run failed! cant find %s device!\n, ADC_DEV_NAME);return RT_ERROR;}/* 使能设备 */ret rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);/* 读取采样值 */value rt_adc_read(adc_dev, ADC_DEV_CHANNEL);rt_kprintf(the value is :%d \n, value);/* 转换为对应电压值 */vol value * REFER_VOLTAGE / CONVERT_BITS;rt_kprintf(the voltage is :%d.%02d \n, vol / 100, vol % 100);/* 关闭通道 */ret rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);return ret;
}
/* 导出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);int main(void)
{return RT_EOK;
}