【元能芯24V全集成电机专用开发板】+元能定时器PWM输出编程调试
安装完keil配套pack包之后,使用stlink进行连接,显示如下截图:
因为电机库被封装,所以转变思路,希望自己能在实例程序上编写定时器输出PWM的程序;
这里参考了一下工程文件:
但是这个文件本身没有编写中断函数于是又打开另一个工程,学习元能芯的中断函数是怎么实现的:
在main中添加了这样一段代码
void NVIC_Config(void)
{NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_TRG_COM_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}其中标红的标识符是从一下文件中找的中断函数编号,和stm32的固件库非常相似,只是文件名不同;
/*!< TIM1 Update, Trigger and Commutation Interrupt */从这段注释可以看出是定时器T1的更新中断;那么还要找到对应的中断函数名;和stm32固件库类似,从启动代码中去查找:
中断函数一般放在myg0002_it.c文件中,要注意变量的定义和函数声明引用,不然很容易报错;这些函数定义的位置也和标准库类似,很容易找到;
模板工程没有打开定时器中断,所以还要在定时器设置位置添加语句,打开更新中断:
因为工程本身已经设置了定时器等,所以添加这些代码再进行调试就完成了PD4引脚输出PWM的功能,可以在视频中看到调试界面的CCR4寄存器不断变化,输出的PWM在中断函数中不断修改,这个测评说明了元能芯的软件开发基本类似与标准库,有基础的话,使用该芯片很容易。