本帖最后由 90houyidai 于 2021-1-13 23:36 编辑
这次裸跑了几个外设的综合试验
串口+ADC+定时器+PWM+CAN
家里没有CAN工具就没测试CAN的功能
使用ADC_IN12将电位器的值传给PWM,进行LED的调光,
并通过串口将采样值传回电脑
开始使用PWM_SetPWMDutyCycle函数进行占空比调节,发现没变化
进入函数查看,才发现这个只能设置对称通道,这个有点误导啊,
主函数
while (1)
{
if (g_timer32ms)
{
g_timer32ms = 0;
ADC_Main();
PWM_SetChannelValue(PWM2, PWM_CHANNEL_CHANNEL0,g_adcValue/35);
}
if (g_timer128ms)
{
g_timer128ms = 0;
CAN_Main(CAN1);
//CAN_Main(CAN2); /* reserved for CAN2 test */
}
if (g_timer512ms)
{
g_timer512ms = 0;
GPIO_Main();
}
if (g_timer1024ms)
{
g_timer1024ms = 0;
printf("ADC_IN12:%d\r\n",g_adcValue);
if (s_eflashTestTimes > 0)
{
s_eflashTestTimes--;
// EFLASH_Main();
}
}
}
|