中断可由X、Y、Z、U轴和连续插补产生。
TC6014只有一个中断引脚INTN管脚33,。因此所有的中断新必须进行“或运算”,然后输出到INTN脚。
?每一个中断都可被独立设为有效还是无效。上电复位时所有的中断都是无效的。
函数原型 | void TC6014_EnableAxisInterrupt(u8 axis,u16 it) | 说明 | 使能指定轴的轴中断 | 参数 | axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴 | it:中断因子。参考前面章节参数宏定义的 href="#_6、轴中断宏定义" 轴中断宏定义 IT_PULSE--脉冲上升沿中断 IT_LMC--逻辑/编码器计数器大于负方向比较寄存器数值 IT_SMC--逻辑/编码器计数器小于负方向比较寄存器数值 IT_SPC--逻辑/编码器计数器小于正方向比较寄存器数值 IT_LPC--逻辑/编码器计数器大于正方向比较寄存器数值 IT_CEND--加减速驱动时,定速域结束脉冲输出 IT_CSTA--加减速驱动时,定速域开始脉冲输出 IT_DEND--驱动结束 IT_ALL--所有 | 返回值 | 无 | 示例 | 使能X轴的脉冲上升沿中断: TC6014_EnableAxisInterrupt(AXIS_X,IT_PULSE); | 注意 | 中断引脚INTN连接到了STM32F103ZET6的引脚PD2。当发生轴中断时,INTN从高阻态变成低电平 |
函数原型 | void TC6014_DisableAxisInterrupt(u8 axis,u16 it) | 说明 | 禁止指定轴的轴中断 | 参数 | axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴,AXIS_ALL--所有轴 | it:中断因子。参考前面章节参数宏定义的轴中断宏定义 IT_PULSE--脉冲上升沿中断 IT_LMC--逻辑/编码器计数器大于负方向比较寄存器数值 IT_SMC--逻辑/编码器计数器小于负方向比较寄存器数值 IT_SPC--逻辑/编码器计数器小于正方向比较寄存器数值 IT_LPC--逻辑/编码器计数器大于正方向比较寄存器数值 IT_CEND--加减速驱动时,定速域结束脉冲输出 IT_CSTA--加减速驱动时,定速域开始脉冲输出 IT_DEND--驱动结束 IT_ALL--所有 | 返回值 | 无 | 示例 | 禁止X轴的脉冲上升沿中断: TC6014_DisableAxisInterrupt(AXIS_X,IT_PULSE); |
函数原型 | u8 TC6014_GetAxisInterruptStatus(u8 axis,u16 it) | 说明 | 获取指定轴的轴中断状态 | 参数 | axis:AXIS_X--X轴,AXIS_Y--Y轴,AXIS_Z--Z轴,AXIS_U--U轴 | it:中断因子。参考前面章节参数宏定义的轴中断宏定义 IT_PULSE--脉冲上升沿中断 IT_LMC--逻辑/编码器计数器大于负方向比较寄存器数值 IT_SMC--逻辑/编码器计数器小于负方向比较寄存器数值 IT_SPC--逻辑/编码器计数器小于正方向比较寄存器数值 IT_LPC--逻辑/编码器计数器大于正方向比较寄存器数值 IT_CEND--加减速驱动时,定速域结束脉冲输出 IT_CSTA--加减速驱动时,定速域开始脉冲输出 IT_DEND--驱动结束 IT_ALL--所有 | 返回值 | 0--指定中断没有发生,1--指定中断发生 | 示例 | 获取X轴的脉冲上升沿中断状态it_stat: it_stat=TC6014_GetAxisInterruptStatus(AXIS_X,IT_PULSE); | 注意 | 如果轴中断发生,使INTN变成低电平(RR3的轴中断位为1),调用该函数后INTN会从低电平变成高阻态(RR3的轴中断位为0) |
|