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

这篇博客介绍了如何使用C++为STM32F103ZET6芯片编写Adc类,适用于STM32库版本V3.5.0。内容包括Adc类的源码文件(Adc.cpp和Adc.h)以及如何在main.cpp中使用。博主提醒读者需要具备一定的STM32和C++基础知识。提供了Adc类的完整代码下载链接,分别在百度云和CSDN上。
摘要由CSDN通过智能技术生成

使用 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){
                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值