资料连接:https://pan.baidu.com/s/1SJxSOUxW8at4NxEcjggahA 提取码:6967

222229qqu6onntv6ruvvpv

CPU支持包,当然你需要自己验证,因为我之前安装过敏芯微其他系列CPU支持包,所以这个过程省略,找到G030系列,下载:

222229lxsqhzehepqgx0ev

测试一下调试下载过程:

222229pxx6uullxtbx6lxk

使用了stlink仿真器:

222231boewy0paowbpnapy

打开的是ADC转换工程,使用studio观察波形:

222231jsmwewda6vdstid9

这里要注意,这个软件只能观察到全局变量,所以还要在工程中新建全局变量来保存ADC结果,才能观察转换波形:

222231v9hzl9fyfyylve4l

接下来阅读代码:

#include "me32g030.h"

#include "me32g030_sys.h"

#include "me32g030_adc.h"

#include "me32g030_uart.h"

#include "me32g030_ioconfig.h"

uint16_t ADC_result0;

int main(void)

{

        /*在这里必须吐槽G030的GPIO函数,感觉还没写完,没看到对GPIO操作的一些基本函数,在LED工程中还在使用

PB12_INIT(PB12_GPIO);//Set PB12 as output

        PB->DIR_b.DIR12  = 0x1;

        while(1)

        {//toggle PB12

                PB->NOT_b .NOT12 =1;

                SYS_Delay(0x4FFFF);}

请问就没有GPIO_Setbit类似的函数吗,我也去查询了,有,但是参数还是没看懂,希望能给出详细说明或者使用GPIO库函数的demo*/

        PA0_INIT (PA0_ADC0);       

        PA1_INIT (PA1_ADC1);

        PA2_INIT (PA2_ADC2);       

        PA3_INIT (PA3_ADC3);

        PA4_INIT (PA4_ADC4);       

        PA5_INIT (PA5_ADC5);

        PA6_INIT (PA6_ADC6);               

        PA7_INIT (PA7_ADC7);

        ADC_Init(200000,INTERNALADCVREFGND);                 //apply internal reference(default 2.07v) as adc reference, ADC convert rate must be lower than 200K

        ADC_SetTrigger(ADC_START_BY_SOFTWAER,0);

        ADC_SetupChannels(AD0|AD1|AD2|AD3|AD4|AD5|AD6|AD7,TRIGGERMODE);

        PA9_INIT(PA9_UART0_TX);

        PA10_INIT(PA10_UART0_RX);

        //initial UART

        UART_Open(UART0,115200,UART_NO_PARITY,UART_TRIGGER_LEVEL_1_BYTE);       

        UART_Send(UART0,"ADC Data\n",12);

        while (1)

        {

                ADC_IssueSoftTrigger;

                while(ADC->DR7_b .DONE ==0); //wait for AD7 done

                UART_PutHex (UART0, ADC->DR1_b.RESULT);

                UART_PutHex (UART0, ADC->DR2_b.RESULT);

                UART_PutHex (UART0, ADC->DR3_b.RESULT);

                UART_PutHex (UART0, ADC->DR4_b.RESULT);

                UART_PutHex (UART0, ADC->DR5_b.RESULT);

                UART_PutHex (UART0, ADC->DR6_b.RESULT);

                UART_PutHex (UART0, ADC->DR7_b.RESULT);

                ADC_result0=ADC->DR1_b.RESULT;

                UART_PutString (UART0, "    ");

  }       


}