STM32单片机实现简单的声音和光的采样

STM32单片机实现简单的声音和光的采样_第1张图片原理分析,找到对应管脚。

如我的单片机相关对应的管脚是PB0和PB1,使用ADC(模数转换器)。

STM32单片机实现简单的声音和光的采样_第2张图片

STM32单片机实现简单的声音和光的采样_第3张图片

配置使能

STM32单片机实现简单的声音和光的采样_第4张图片

STM32单片机实现简单的声音和光的采样_第5张图片

STM32单片机实现简单的声音和光的采样_第6张图片

ADC时钟的配置不能太高,这里设置为12,配置完成之后CTRL+s生成代码

STM32单片机实现简单的声音和光的采样_第7张图片

STM32单片机实现简单的声音和光的采样_第8张图片

添加实现代码

在adc.c文件中添加下面的代码(建议自己手动打一遍)

STM32单片机实现简单的声音和光的采样_第9张图片


enum
{
	ADCCHN_LUX,
	ADCCHN_NOISY,
	ADCCHN_MAX,
};

int adc_lux_mix(uint32_t *lux,uint32_t *noisy)
{
	uint32_t 	i;
	uint32_t	timeout=0xffffff;

	for(i=0;i

adc.h头文件中声明

STM32单片机实现简单的声音和光的采样_第10张图片

定义变量,并传地址到函数中,打印出结果

STM32单片机实现简单的声音和光的采样_第11张图片

烧录并使用串口调试助手查看结果

STM32单片机实现简单的声音和光的采样_第12张图片

你可能感兴趣的:(STM32单片机学习笔记,单片机,嵌入式硬件,stm32)