资料连接:https://pan.baidu.com/s/1SJxSOUxW8at4NxEcjggahA 提取码:6967
CPU支持包,当然你需要自己验证,因为我之前安装过敏芯微其他系列CPU支持包,所以这个过程省略,找到G030系列,下载:
测试一下调试下载过程:
使用了stlink仿真器:
打开的是ADC转换工程,使用studio观察波形:
这里要注意,这个软件只能观察到全局变量,所以还要在工程中新建全局变量来保存ADC结果,才能观察转换波形:
接下来阅读代码:
#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, " ");
}
}