news 2026/7/7 2:52:14

stm32 adc采集光敏传感器模块的模拟输出脚A0的值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
stm32 adc采集光敏传感器模块的模拟输出脚A0的值
#include "stm32f10x.h" // Device header #include "delay.h" #include "stdio.h" unsigned int a; int fputc(int ch, FILE *f)//重定义打印函数,可以使用printf { while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); USART_SendData(USART1, (uint8_t)ch); //USART1->DR = (u8) ch return ch; } int main(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); GPIO_InitTypeDef GPIO_STRUTURE; GPIO_STRUTURE.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_STRUTURE.GPIO_Pin=GPIO_Pin_9; GPIO_STRUTURE.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_STRUTURE); GPIO_STRUTURE.GPIO_Mode=GPIO_Mode_IPU; GPIO_STRUTURE.GPIO_Pin=GPIO_Pin_10; GPIO_Init(GPIOA,&GPIO_STRUTURE); GPIO_STRUTURE.GPIO_Mode=GPIO_Mode_AIN; GPIO_STRUTURE.GPIO_Pin=GPIO_Pin_1;//adc1对应 GPIO_Init(GPIOA,&GPIO_STRUTURE); USART_InitTypeDef USART_STRUTURE; USART_STRUTURE.USART_BaudRate=9600; USART_STRUTURE.USART_HardwareFlowControl=USART_HardwareFlowControl_None; USART_STRUTURE.USART_Mode=USART_Mode_Tx| USART_Mode_Rx; USART_STRUTURE.USART_Parity=USART_Parity_No; USART_STRUTURE.USART_StopBits=USART_StopBits_1; USART_STRUTURE.USART_WordLength=USART_WordLength_8b; USART_Init(USART1,&USART_STRUTURE); USART_Cmd(USART1,ENABLE);//串口设置 RCC_ADCCLKConfig(RCC_PCLK2_Div6); ADC_DeInit(ADC1); ADC_InitTypeDef ADC_STRUTURE; ADC_STRUTURE.ADC_ContinuousConvMode=DISABLE; ADC_STRUTURE.ADC_DataAlign=ADC_DataAlign_Right; ADC_STRUTURE.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None; ADC_STRUTURE.ADC_Mode=ADC_Mode_Independent; ADC_STRUTURE.ADC_NbrOfChannel=1; ADC_STRUTURE.ADC_ScanConvMode=DISABLE; ADC_Init(ADC1,&ADC_STRUTURE); ADC_Cmd(ADC1,ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1));//adc配置 printf("你好,hello,world!\r\n");//复位键按下输出 delay(1000); while(1) { ADC_RegularChannelConfig(ADC1,ADC_Channel_1,1,ADC_SampleTime_239Cycles5); ADC_SoftwareStartConvCmd(ADC1,ENABLE); while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC)== RESET); a=ADC_GetConversionValue(ADC1); printf("ADC采集值:%d\r\n", a);//循环输出 delay(1000) ; } }

光照从暗(遮挡)到亮,值越小

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 11:51:03

如何快速解决Mac无法读写NTFS磁盘:NTFSTool完整使用指南

还在为Mac电脑无法正常编辑NTFS格式移动硬盘中的文件而烦恼吗?作为跨平台数据交换的常见障碍,NTFS格式在macOS上的兼容性问题困扰着众多用户。NTFSTool这款开源工具应运而生,为Mac用户提供了专业级的NTFS磁盘管理解决方案,让你轻松…

作者头像 李华
网站建设 2026/7/7 8:49:13

Linux进程间通信之共享内存实现篇

Linux 内核中共享内存的实现(基于 2.6.12) 核心文件与路径 ipc/shm.c: System V 共享内存系统调用与核心逻辑include/linux/shm.h: 结构体与常量定义(shmid_kernel 在 #ifdef __KERNEL__ 块内, 仅内核可见)ipc/util.c: IPC 公共 I…

作者头像 李华
网站建设 2026/7/7 16:33:25

《告别重复劳动!易语言实现档案数字化录入全自动助手》

场景痛点:低效的重复录入操作 在档案数字化管理系统中,录入员常面临繁琐的“快捷键-录入-切换焦点-翻页”循环操作,即使引入OCR提取题名,仍需在多个窗口间手动切换、复制粘贴,效率低下。 优化方案:一键式…

作者头像 李华
网站建设 2026/7/7 10:11:42

如何搞定GIF闪图?闪图制作工具使用攻略

刷社交动态时,那些节奏明快、重点突出的GIF闪图总能快速抓住眼球。其实不用羡慕别人的创作能力,一款实用的闪图制作工具就能帮你轻松做出同款闪图,无需安装软件,零基础也能快速掌握,具体操作步骤如下。浏览器打开GIF中…

作者头像 李华
网站建设 2026/7/7 18:26:05

Selenium自动化测试:如何搭建自动化测试环境?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 打算花点时间,把selenium的内容好好梳理了一下,从基础开始,到梳理出一个selenium的知识图谱。 整个内容可能不是一次能写完的&…

作者头像 李华