ME32G030 系列是内嵌 ARM Cortex™ M0 核的 32 位微控制器。 该控制器具备有常用外设和功能,如高速 12 位的 ADC 转换器,UART 串口,SPI 接口,I2C 总线接口,看门狗定时器( WDT),7 个通用计数器/定时器和 24 位 RTC。除此之外,ME32G030系列还支持马达控制功能,直流无刷电机控制 PWM 模块。可以替换STM32F1G0系列。
主要特点:
内核与主频:采用ARM Cortex-M0内核,主频最高可达48MHz,具备可嵌套中断向量控制器(NVIC)和32位硬件乘法器,能够高效处理实时任务。
存储资源:配备64KB用户程序空间和5KB启动程序,内嵌8KB高速SRAM,满足中等规模嵌入式应用的存储需求。
外设接口:集成12位ADC转换器(支持12个外部输入通道)、4个UART串口、2个SPI接口、2个I2C总线接口、看门狗定时器(WDT)及7个通用计数器/定时器,支持马达控制和直流无刷电机控制PWM模块。
电源与温度:采用2.0V~5.5V宽工作电压,工作温度范围为-40°C至+85°C,适应多种工业环境。
低功耗与安全:提供多种功耗模式选择,支持BOD(Brown-Out Reset,欠压复位)功能,增强系统稳定性。
资料:https://pan.baidu.com/s/1SJxSOUxW8at4NxEcjggahA 提取码:6967
安装CPU支持包,找到G030系列,下载:
本次测试使用中断控制PWM占空比,并使用逻辑分析仪采集PWM波形;
进入 main函数首先将引脚设置为PWM输出模式
//initial PWM pin
PA8_INIT(PA8_PWM0);
PC8_INIT(PC8_PWM0);
PB13_INIT(PB13_PWM1);
PA7_INIT(PA7_PWM1);
PC2_INIT(PC2_PWM1);
PB3_INIT(PB3_PWM2);
PA9_INIT(PA9_PWM2);
PA10_INIT(PA10_PWM2);
PB14_INIT(PB14_PWM3);
PB0_INIT(PB0_PWM3);
PB6_INIT(PB6_PWM4);
PC10_INIT(PC10_PWM4);
PA10_INIT(PA10_PWM4);
PB15_INIT(PB15_PWM5);
PB1_INIT(PB1_PWM5);
PC11_INIT(PC11_PWM6);
PA11_INIT(PA11_PWM3);
完成PWM相关的初始化
PWM_Init(1000,PWM_DEPENDENT,PWM_EDGE_ALIGN,PWM_POSITIVE);
PWM_EnableInt(PWM_FULLINT);
NVIC_EnableIRQ(PWM_IRQn);//使能PWM中断
//启动PWM
PWM_Start();
//设置占空比
PWM_SetDuty(PWM0,duty);
PWM_SetDuty(PWM1,100-duty);
PWM_SetDuty(PWM2,duty);
PWM_SetDuty(PWM3,100-duty);
PWM_SetDuty(PWM4,duty);
PWM_SetDuty(PWM5,100-duty);
PWM_SetDuty(PWM6,duty);
在中断函数中修改占空比
void PWM_IRQHandler(void)
{
duty+=10;
if (duty>100)
duty=0;
//Set Duty
PWM_SetDuty(PWM0,duty);
PWM_SetDuty(PWM1,100-duty);
PWM_SetDuty(PWM2,duty);
PWM_SetDuty(PWM3,100-duty);
PWM_SetDuty(PWM4,duty);
PWM_SetDuty(PWM5,100-duty);
PWM_SetDuty(PWM6,duty);
PWM_SetDuty(PWM7,100-duty);
PWM->CTRL_b .PWMF =0;
}
仿真调试截图中有逻辑分析仪的波形结果:
硬件接线如图: