ADC初步学习

要求:使用ADC接收光敏传感器的数据发送至串口

软件:STM32CubeMx、串口助手

硬件:STM32F103ZET6、光敏传感器

Step1:在搜索栏找到使用的单片机型号,作者使用的是STM32F103ZET6

             选择其中任意一个即可,这边出现了两款芯片都是同一型号,仅封装不同。 

Step2:进行芯片配置

              在RCC的配置中使用晶振。

              配置ADC和串口。作者配置的是PV6为ADC1,将串口一配置为异步通信。

             此时可以看到GPIO这一配置处有ADC1的信息。 

Step3:配置时钟。 

Step4:生成配置代码 。这里需要注意文件名不能为中文,生成路径需要在一个空文件夹下。

Step5:生成好后直接打开工程。 

Step6: 按照配置图将光敏电阻的AO口与芯片的PV6口相连,连接VCC和GND。(一般使用3.3V,注意所需电压)

 Step7:对ADC模块进行编程。

    代码解析:  先声明并定义了一个无符号字符型变量 i,启动名为hadc1(串口1)的ADC进行转换。声明一个长度为10的uint8_t类型的数组QX,用于存储格式化后的ADC数据。判断等待ADC转换完成,超时时间为1000ms(1s),如果转换完成返回HAL_OK则执行接下来的程序:获取ADC转换结果存储在smog变量中,将smog格式化为字符串存储在QX中,最后通过UART发生QX数组中的数据。

Step8:改变光敏传感器接受光的程度可以发现串口助手的接受AO值有所改变。 

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值