STM32 C++编程 004 Adc (数模转换)类

使用 C++ 语言给 STM32 编写一个 Adc 类

我使用的STM32芯片:STM32F103ZET6
我们使用的STM32库版本:V3.5.0



注意:

  • 想学习本套 STM32 C++编程 的专栏是有点门槛的。你需要有一点点 STM32 基础 和 一点点 C++ 语言基础。

  • 完整的STM32 C++ Adc类 的下载地址可以在本篇博客的最下面找到。


Adc.cpp

#include "Adc.h"

using namespace stm32f10x;

Adc::Adc(ADC_TypeDef* ADCx, uint8_t ADC_Channel):adcx(ADCx), channel(ADC_Channel){
    initialize();
    start();
}

void Adc::initialize(){
    switch(channel){
        case 0:
                a = new Gpio(PA, 0, GPIO_Mode_AIN); delete a;   break;
        case 1:
                a = new Gpio(PA, 1, GPIO_Mode_AIN); delete a;   break;
        case 2:
                a = new Gpio(PA, 2, GPIO_Mode_AIN); delete a;   break;
        case 3:
                a = new Gpio(PA, 3, GPIO_Mode_AIN); delete a;   break;
        case 4:
            switch((uint32_t)adcx){
                case (uint32_t)ADC1:
                case (uint32_t)ADC2:
                a = new Gpio(PA, 4, GPIO_Mode_AIN); delete a;   break;  
                case (uint32_t)ADC3:
                a = new Gpio(PF, 6, GPIO_Mode_AIN); delete a;   break;                      
            }
            break;
        case 5:
            switch((uint32_t)adcx){
                
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值