电机的PID控制

合集下载

电机控制系统中的电机速度PID控制

电机控制系统中的电机速度PID控制

电机控制系统中的电机速度PID控制电机控制系统中的电机速度PID控制在工业自动化领域中扮演着重要的角色。

PID控制器是指比例积分微分控制器,通过调整这三个参数来实现对电机速度的精准控制。

本文将分析电机控制系统中电机速度PID控制的原理、优势以及应用。

1. 原理PID控制器是通过测量电机转速与期望转速之间的误差,根据比例、积分、微分这三个参数计算出控制电机所需的输出信号。

比例项(P)是误差的比例增益,积分项(I)是误差的积分增益,而微分项(D)是误差的微分增益。

通过这三个参数的调节,电机的运行速度可以得到准确控制,实现闭环反馈。

2. 优势使用PID控制器进行电机速度控制具有以下优势:- 精准度高:PID控制系统具有快速响应速度和稳定性,能够精确控制电机速度。

- 调节方便:PID控制器的三个参数可以根据实际情况进行调节,适用于不同的电机控制需求。

- 适用性广:PID控制器在工业自动化控制中广泛应用,适用于各种类型的电机控制系统。

3. 应用电机控制系统中的电机速度PID控制被广泛应用于各种场景,包括但不限于以下几个方面:- 电动汽车:在电动汽车中,PID控制器可以用于控制电动机的转速,提高电动汽车的驾驶性能和节能性。

- 工业机械:在工业机械中,PID控制器可以用于控制各种类型的电机,实现生产线自动化运行。

- 机器人:在机器人领域,PID控制器可以用于控制机器人臂的运动速度,实现精准操作和抓取。

综上所述,电机控制系统中的电机速度PID控制是一种高效、精准的控制方法,具有广泛的应用前景。

随着工业自动化技术的不断发展,PID控制器将继续发挥重要作用,推动工业生产的进步与优化。

用PID调节优化电机驱动系统的效率和精度

用PID调节优化电机驱动系统的效率和精度

用PID调节优化电机驱动系统的效率和精度PID调节是一种常用的控制策略,可用于优化电机驱动系统的效率和精度。

本文将介绍PID调节的原理和应用,并探讨其在电机驱动系统中的具体应用案例。

一、PID调节的原理PID调节是一种基于反馈控制的方法,通过不断调整输出信号,使系统的实际输出与期望输出之间达到最优的差距。

PID控制器由比例(P)、积分(I)和微分(D)三个部分组成。

1. 比例(Proportional)部分:根据误差的大小决定输出信号的变化幅度。

比例控制主要用于快速响应系统变化,并减小稳态误差。

2. 积分(Integral)部分:根据误差的累积值决定输出信号的变化幅度。

积分控制主要用于消除系统的静态误差。

3. 微分(Derivative)部分:通过计算误差变化率来调整输出信号的变化速度。

微分控制主要用于抑制系统的震荡和提高系统的稳定性。

通过合理地调节PID控制器的参数,可以使系统达到期望的效果,并提高系统的响应速度、稳定性和精度。

二、PID调节在电机驱动系统中的应用电机驱动系统是一种常见的控制系统,PID调节在其中被广泛应用。

下面将以直流电机驱动系统为例,介绍PID调节在电机驱动中的应用。

1. 速度控制直流电机的转速控制是电机驱动系统的重要任务之一。

PID调节可用于实时调整电机的驱动信号,使电机达到期望的转速。

控制器根据电机实际转速与期望转速之间的差异,不断调整输出信号,实现电机转速的精确控制。

2. 位置控制除了速度控制,PID调节还可用于电机的位置控制。

通过控制电机的驱动信号,使电机在给定的位置上停止或定位到指定位置。

控制器根据电机实际位置与期望位置之间的差异,调整输出信号,实现电机位置的精确控制。

3. 力矩控制在某些应用中,需要通过控制电机的力矩来实现特定的任务。

PID 调节可用于调整电机的驱动信号,使电机输出期望的力矩。

控制器根据电机实际输出力矩与期望输出力矩之间的差异,调整输出信号,实现电机力矩的精确控制。

电机控制pid算法

电机控制pid算法

电机控制pid算法电机控制PID算法引言:PID(Proportional-Integral-Derivative)算法是一种常用的控制算法,广泛应用于电机控制领域。

本文将详细介绍PID算法的原理和应用,并探讨其在电机控制中的作用和优势。

一、PID算法原理1. 比例控制(P):比例控制是一种基本的反馈控制方法,其输出与误差成正比。

在电机控制中,比例控制可用于调整电机的速度或位置。

通过设置适当的比例增益,可以实现快速响应和准确控制。

2. 积分控制(I):积分控制用于消除静态误差,通过对误差进行积分来修正系统偏差。

在电机控制中,积分控制可用于消除电机运行过程中的误差,提高控制精度和稳定性。

3. 微分控制(D):微分控制用于抑制系统的超调和振荡,通过对误差的变化率进行微分来提前预测系统的响应。

在电机控制中,微分控制可用于提高系统的动态响应,减小系统的超调和振荡。

二、PID算法应用1. 电机速度控制:PID算法可用于电机的速度控制,通过测量电机的转速与设定值之间的误差,并根据比例、积分和微分系数对误差进行调整,控制电机的输出电压或电流,从而实现精确的速度控制。

2. 电机位置控制:PID算法也可用于电机的位置控制,通过测量电机的位置与设定值之间的误差,并根据比例、积分和微分系数对误差进行调整,控制电机的输出电压或电流,从而实现精确的位置控制。

3. 电机力矩控制:PID算法还可用于电机的力矩控制,通过测量电机的输出力矩与设定值之间的误差,并根据比例、积分和微分系数对误差进行调整,控制电机的输出电压或电流,从而实现精确的力矩控制。

三、PID算法的优势1. 简单易实现:PID算法是一种简单易实现的控制算法,只需调节比例、积分和微分系数即可实现对电机的控制。

算法结构简单,计算量小,适用于实时控制系统。

2. 鲁棒性强:PID算法具有较好的鲁棒性,能够适应不同的工作环境和负载变化。

通过合理调节PID参数,可以使电机控制系统具有较好的稳定性和鲁棒性。

电机控制系统中的PID调节技术

电机控制系统中的PID调节技术

电机控制系统中的PID调节技术电机控制系统是现代工业中常见的控制系统之一,它的性能和稳定性直接影响到整个生产线的运行效率。

PID调节技术是一种广泛应用于电机控制系统中的控制算法,它通过不断地调节比例、积分和微分三个参数,使得系统输出与期望值之间达到最佳的匹配,从而实现精准的控制。

本文将详细介绍电机控制系统中PID调节技术的原理和应用。

一、PID调节技术的原理PID调节技术是由比例(P)、积分(I)和微分(D)三个参数组成的控制算法。

比例参数主要用来调节系统的响应速度,当比例参数增大时,系统的超调量会减小,但会增加震荡的可能性;积分参数主要用来减小稳态误差,当积分参数增大时,系统对于稳态误差的消除能力会增强,但会增加系统的超调量;微分参数主要用来抑制系统的震荡,当微分参数增大时,系统对于幅度变化较大的信号会有更快的响应速度,但会增加系统的灵敏度。

通过不断地调节这三个参数,PID调节技术可以使得系统输出与期望值之间达到最佳的匹配,从而实现精准的控制。

二、PID调节技术在电机控制系统中的应用在电机控制系统中,PID调节技术被广泛地应用于速度控制、位置控制和力控制等方面。

在速度控制方面,通过对电机的电压和电流进行PID调节,可以精确地控制电机的转速,使得电机在不同转速下都能够保持稳定的运行状态。

在位置控制方面,通过对电机的脉冲信号和位置反馈信号进行PID调节,可以实现电机的定位精度,使得电机可以按照指定的位置轨迹进行准确移动。

在力控制方面,通过对电机的输出力矩进行PID调节,可以控制电机输出的力矩大小,使得电机可以完成各种力控制任务。

三、PID调节技术在电机控制系统中的优势PID调节技术在电机控制系统中具有响应速度快、稳态误差小、抗干扰能力强等优势。

由于PID调节技术具有简单易实现的特点,因此被广泛地应用于各种电机控制系统中。

此外,PID调节技术在参数调节方面也比较灵活,可以根据实际控制需求不断地调节参数,使得系统能够在不同的工况下都能够保持优良的控制性能。

电机运动控制算法

电机运动控制算法

电机运动控制算法电机运动控制算法是现代工业领域中非常重要的技术之一,它可用于实现对电机运动的精确控制和调节,使电机能够在各种复杂的场景下高效稳定地运行。

常见的电机运动控制算法包括PID控制、模糊控制、神经网络控制等。

本文将分别介绍这些算法的基本原理和应用场景,以期为读者提供指导和启示。

1.PID控制PID控制是最常见的电机运动控制算法之一,它通过计算目标控制量与实际控制量之间的误差来实现控制。

PID控制算法中的P、I、D分别代表比例、积分和微分控制器。

比例控制器根据误差的大小调整输出信号,使得实际控制量尽量接近目标控制量;积分控制器则通过累加误差,使得实际控制量在长时间内能够达到更加稳定的状态;微分控制器则根据误差变化的快慢来调整输出信号,从而加速控制响应。

PID控制算法广泛应用于直流电机调速、位置控制等领域。

2.模糊控制模糊控制是一种可以自适应地调节系统的控制算法,它利用模糊集合理论和规则库来实现控制。

模糊集合可以看作是一些事物之间的模糊关系,而规则库则用于描述控制策略。

模糊控制依靠专家经验和实际场景数据来制定规则库,并且能够在入口和出口处实时调节参数,以适应不同的运动控制场景。

模糊控制算法对于环境变化较大的场景,如地震反应控制、无人驾驶等,具有很好的适应性和抗干扰性。

3.神经网络控制神经网络控制利用人工神经网络模拟人类大脑的学习和调节机制,实现电机运动控制。

神经网络控制算法可以分为有监督学习和无监督学习,其中有监督学习是通过先前的训练数据进行学习,进而将学到的知识用于实际控制;无监督学习则是通过网络自身的学习和整合来得出控制策略。

神经网络控制算法应用广泛,如在工业机器人控制、电动汽车调速等领域都有非常好的表现。

总的来说,不同的电机控制算法适用于不同的场景,读者应根据具体的控制目标和需求来选择合适的算法。

在实际应用中,可结合实际应用场景,合理大胆尝试各种运动控制算法,从而实现更高效、精确的电机运动控制。

电机控制系统中的电机位置PID控制

电机控制系统中的电机位置PID控制

电机控制系统中的电机位置PID控制电机控制系统中的电机位置PID控制是现代工业中广泛应用的一种控制方法。

PID控制器通过不断调整电机的输出来使其达到期望的位置,从而实现精准的控制。

本文将介绍电机控制系统中电机位置PID控制的原理、应用和优势。

一、原理在电机控制系统中,PID控制器是一种基于比例、积分、微分三个部分的控制器。

比例项根据电机当前位置与期望位置之间的偏差,按照一定的比例关系进行处理;积分项则根据偏差的积累情况进行调整;微分项则根据偏差的变化速度进行调整。

PID控制器根据这三个部分的信息,输出一个控制信号,通过这个信号来控制电机的运动,从而实现位置控制。

二、应用电机位置PID控制广泛应用于各种工业控制系统中,如汽车控制系统、飞机控制系统、机械制造系统等。

在这些系统中,对电机位置的精准控制是至关重要的,而PID控制器能够提供稳定而快速的响应,使得电机可以准确到达目标位置。

三、优势相比于其他控制方法,电机位置PID控制具有以下优势:1. 鲁棒性强:PID控制器对于系统参数变化和外部干扰具有较好的鲁棒性,能够保持系统稳定性。

2. 调节方便:PID参数的调节相对简单,通常只需要根据系统响应进行一些试错调整即可。

3. 精度高:PID控制器能够对电机位置进行高精度控制,满足工业生产对位置精度的要求。

四、结论电机控制系统中的电机位置PID控制在现代工业中扮演着重要的角色,其理论基础扎实,应用广泛,优势明显。

通过PID控制器,电机在工业生产中实现了精准定位和精准控制,提高了生产效率和产品质量。

随着科技的不断进步,电机位置PID控制将会得到更多的应用和发展,为工业自动化控制带来更大的便利和效益。

pid电机控制算法

pid电机控制算法

pid电机控制算法
【原创实用版】
目录
1.PID 电机控制算法简介
2.PID 电机控制算法的工作原理
3.PID 电机控制算法的优点和缺点
4.PID 电机控制算法在实际应用中的案例
5.总结
正文
一、PID 电机控制算法简介
PID 电机控制算法,全称为比例 - 积分 - 微分电机控制算法,是一种广泛应用于电机控制的算法。

它是通过计算电机的误差,然后通过比例、积分、微分三个部分的调节,使电机达到或维持在期望的速度或位置。

二、PID 电机控制算法的工作原理
PID 电机控制算法的工作原理可以简单地概括为:计算误差,调节输入,使误差减小。

具体来说,就是通过测量电机的实际速度或位置与期望速度或位置的差值,即误差,然后通过比例、积分、微分三个部分的调节,使电机的输入电压或电流发生变化,从而改变电机的转速或转矩,使误差减小。

三、PID 电机控制算法的优点和缺点
PID 电机控制算法的优点主要有:调节速度快,稳定性好,适用于大多数电机控制场景。

其缺点主要是:对于非线性的电机系统,可能需要复杂的 PID 参数调节,而且对于突变的负载或环境变化,可能需要额外的控制策略来应对。

四、PID 电机控制算法在实际应用中的案例
PID 电机控制算法在实际应用中非常广泛,例如在电动汽车、机器人、自动化生产线等中都有应用。

以电动汽车为例,PID 电机控制算法可以精确地控制电机的转速和转矩,从而使电动汽车在行驶过程中能够保持稳定的速度和良好的驾驶性能。

五、总结
总的来说,PID 电机控制算法是一种成熟、有效的电机控制策略,它适用于大多数电机控制场景,同时也具有一定的局限性。

电机控制进阶2——PID位置控制

电机控制进阶2——PID位置控制

电机控制进阶2——PID位置控制描述上篇文章讲解了电机的速度环控制,可以控制电机快速准确地到达指定速度。

本篇来介绍电机的位置环控制,实现电机快速准确地转动到指定位置。

1 位置控制与速度控制的区别回顾上篇,电机速度PID控制的结构图如下,目标值是设定的速度,通过编码器获取电机的转速作为反馈,实现电机转速的控制。

再来看电机位置PID控制,其结构图如下,目标值是设定的位置,通过编码器获取电机累计转动的脉冲数作为反馈,实现电机位置的控制。

所以:对比两张图,速度控制与位置控制的主要区别,就是控制量的不同。

2 核心程序了解了速度控制与位置控制的区别后,下面就可以修改程序。

2.1 编码器相关2.1.1 电机与编码器参数编码器部分,需要根据自己电机的实际参数进行设定,比如我用到的电机:编码器一圈的物理脉冲数为11定时器编码器模式通过设置倍频来实现4倍频电机的减速齿轮的减速比为1:34所以,电机转一圈总的脉冲数,即定时器能读到的脉冲数为11*4*34= 1496。

#define ENCODER_RESOLUTION 11 /*编码器一圈的物理脉冲数*/ #define ENCODER_MULTIPLE 4 /*编码器倍频,通过定时器的编码器模式设置*/ #define MOTOR_REDUCTION_RATIO 34 /*电机的减速比*/ /*电机转一圈总的脉冲数(定时器能读到的脉冲数) = 编码器物理脉冲数*编码器倍频*电机减速比*/ /* 11*4*34= 1496*/ #define TOTAL_RESOLUTION ( ENCODER_RESOLUTION*ENCODER_MULTIPLE*MOTOR_REDUC TION_RATIO )想要了解更多关于编码器的使用,可参照之前的文章: ( /d/1639052.html )2.1.2 定时器编码器模式配置用于编码器捕获的定时器的一些宏定义。

#define ENCODER_TIM_PSC 0/*计数器分频*/#define ENCODER_TIM_PERIOD 65535/*计数器最大值*/#define CNT_INIT 0/*计数器初值*/配置主要关注重装载值,倍频,溢出中断设置。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include "DSP28_Device.h"#include "pmsm3_1.h"#include "parameter.h"#include "build.h"// 函数声明interrupt void EvaTimer1(void);interrupt void EvaTimer2(void);// 全局变量定义float Vd_testing = 0; /* Vd testing (pu) */float Vq_testing = 0.25; /* Vq testing (pu) */float Id_ref = 0; /* Id reference (pu) */float Iq_ref = 0.4; /* Iq reference (pu) */float speed_ref = 0.2; /* Speed reference (pu) */float T = 0.001/ISR_FREQUENCY; /* Samping period (sec), see parameter.h */int isr_ticker = 0;int pwmdac_ch1=0;int pwmdac_ch2=0;int pwmdac_ch3=0;volatile int enable_flg=0;int lockrtr_flg=1;int speed_loop_ps = 10; // 速度环定标器int speed_loop_count = 1; // 速度环计数器CLARKE clarke1 = CLARKE_DEFAULTS;PARK park1 = PARK_DEFAULTS;IPARK ipark1 = IPARK_DEFAULTS;PIDREG3 pid1_id = PIDREG3_DEFAULTS;PIDREG3 pid1_iq = PIDREG3_DEFAULTS;PIDREG3 pid1_spd = PIDREG3_DEFAULTS;PWMGEN pwm1 = PWMGEN_DEFAULTS;PWMDAC pwmdac1 = PWMDAC_DEFAULTS;SVGENDQ svgen_dq1 = SVGENDQ_DEFAULTS;QEP qep1 = QEP_DEFAULTS;SPEED_MEAS_QEP speed1 = SPEED_MEAS_QEP_DEFAULTS;DRIVE drv1 = DRIVE_DEFAULTS;RMPCNTL rc1 = RMPCNTL_DEFAULTS;RAMPGEN rg1 = RAMPGEN_DEFAULTS;ILEG2DCBUSMEAS ilg2_vdc1 = ILEG2DCBUSMEAS_DEFAULTS; // 主函数void main(void){// 系统初始化InitSysCtrl();// HISPCP 设置EALLOW;SysCtrlRegs.HISPCP.all = 0x0000; /* SYSCLKOUT/1 */ EDIS;// 禁止并清除所有CPU中断:DINT;IER = 0x0000;IFR = 0x0000;// 初始化Pie到默认状态InitPieCtrl();// 初始化PIE相量表InitPieVectTable();// 初始化EV A 定时器1://设置定时器1寄存器(EV A)EvaRegs.GPTCONA.all = 0;//等待使能标志位while (enable_flg==0){// 使能定时器1的下溢中断EvaRegs.EV AIMRA.bit.T1UFINT = 1;EvaRegs.EV AIFRA.bit.T1UFINT = 1;// 使能CAP3中断(定时器2)EvaRegs.EV AIMRC.bit.CAP3INT = 1;EvaRegs.EV AIMRC.bit.CAP3INT = 1;};// 重新分配中断向量EALLOW;PieVectTable.T1UFINT = &EvaTimer1;PieVectTable.CAPINT3 = &EvaTimer2;EDIS;// 使能PIE组2的中断6(T1UFINT)PieCtrlRegs.PIEIER2.all = M_INT6;// 使能PIE组3的中断7(CAPINT3)PieCtrlRegs.PIEIER3.all = M_INT7;// 使能CPU INT2(T1UFINT)和INT3(CAPINT3):IER |= (M_INT2 | M_INT3);// 使能全局中断和最高优先级适时调试事件管理器功能:EINT; //使能全局中断INTMERTM; // 使能适时调试中断DBGM/* 模块初始化*/pwm1.n_period = SYSTEM_FREQUENCY*1000000*T/2; /* 预定标器X1 (T1), ISR周期= T x 1 */pwm1.init(&pwm1);pwmdac1.pwmdac_period = 2500; /* PWM频率= 30 kHz */pwmdac1.PWM_DAC_IPTR0 = &pwmdac_ch1;pwmdac1.PWM_DAC_IPTR1 = &pwmdac_ch2;pwmdac1.PWM_DAC_IPTR2 = &pwmdac_ch3;pwmdac1.init(&pwmdac1);qep1.init(&qep1);drv1.init(&drv1);ilg2_vdc1.init(&ilg2_vdc1);/* 初始化SPEED_FRQ模块*/speed1.K1 = _IQ21(1/(BASE_FREQ*T));speed1.K2 = _IQ(1/(1+T*2*PI*30)); /* 低通截至频率= 30 Hz */speed1.K3 = _IQ(1)-speed1.K2;speed1.rpm_max = 120*BASE_FREQ/P;/*初始化RAMPGEN模块*/rg1.step_angle_max = _IQ(BASE_FREQ*T); /* 初始化PID_REG3 Id调节模块*/pid1_id.Kp_reg3 = _IQ(0.75);pid1_id.Ki_reg3 = _IQ(T/0.0005);pid1_id.Kd_reg3 = _IQ(0/T);pid1_id.Kc_reg3 = _IQ(0.2);pid1_id.pid_out_max = _IQ(0.30);pid1_id.pid_out_min = _IQ(-0.30);/* 初始化PID_REG3 Iq调节模块*/pid1_iq.Kp_reg3 = _IQ(0.75);pid1_iq.Ki_reg3 = _IQ(T/0.0005);pid1_iq.Kd_reg3 = _IQ(0/T);pid1_iq.Kc_reg3 = _IQ(0.2);pid1_iq.pid_out_max = _IQ(0.95);pid1_iq.pid_out_min = _IQ(-0.95);/*初始化PID_REG3 速度调节模块*/pid1_spd.Kp_reg3 = _IQ(1);pid1_spd.Ki_reg3 = _IQ(T*speed_loop_ps/0.1);pid1_spd.Kd_reg3 = _IQ(0/(T*speed_loop_ps));pid1_spd.Kc_reg3 = _IQ(0.2);pid1_spd.pid_out_max = _IQ(1);pid1_spd.pid_out_min = _IQ(-1);// 循环等待for(;;);}interrupt void EvaTimer1(void){isr_ticker++;if (speed_loop_count==speed_loop_ps){pid1_spd.pid_ref_reg3 = _IQ(speed_ref);pid1_spd.pid_fdb_reg3 = speed1.speed_frq;pid1_spd.calc(&pid1_spd);speed_loop_count=1;}else speed_loop_count++;pid1_iq.pid_ref_reg3 = pid1_spd.pid_out_reg3;pid1_iq.pid_fdb_reg3 = park1.qe;pid1_iq.calc(&pid1_iq);pid1_id.pid_ref_reg3 = _IQ(Id_ref);pid1_id.pid_fdb_reg3 = park1.de;pid1_id.calc(&pid1_id);ipark1.de = pid1_id.pid_out_reg3;ipark1.qe = pid1_iq.pid_out_reg3;ipark1.ang = speed1.theta_elec;ipark1.calc(&ipark1);svgen_dq1.Ualfa = ipark1.ds;svgen_dq1.Ubeta = ipark1.qs;svgen_dq1.calc(&svgen_dq1);pwm1.Mfunc_c1 = (int)_IQtoIQ15(svgen_dq1.Ta); /* Mfunc_c1 is in Q15 */pwm1.Mfunc_c2 = (int)_IQtoIQ15(svgen_dq1.Tb); /* Mfunc_c2 is in Q15 */pwm1.Mfunc_c3 = (int)_IQtoIQ15(svgen_dq1.Tc); /* Mfunc_c3 is in Q15 */pwm1.update(&pwm1);ilg2_vdc1.read(&ilg2_vdc1);clarke1.as = _IQ15toIQ((long)ilg2_vdc1.Imeas_a);clarke1.bs = _IQ15toIQ((long)ilg2_vdc1.Imeas_b);clarke1.calc(&clarke1);park1.ds = clarke1.ds;park1.qs = clarke1.qs;park1.ang = speed1.theta_elec;park1.calc(&park1);qep1.calc(&qep1);speed1.theta_elec = _IQ15toIQ((long)qep1.theta_elec);speed1.dir_QEP = (long)(qep1.dir_QEP);speed1.calc(&speed1);pwmdac_ch1 = (int)_IQtoIQ15(svgen_dq1.Ta);pwmdac_ch2 = (int)_IQtoIQ15(clarke1.as);pwmdac_ch3 = (int)_IQtoIQ15(speed1.theta_elec);drv1.enable_flg = enable_flg;drv1.update(&drv1);pwmdac1.update(&pwmdac1);// 使能定时器中断EvaRegs.EV AIMRA.bit.T1UFINT = 1;EvaRegs.EV AIFRA.all = BIT9;PieCtrlRegs.PIEACK.all |= PIEACK_GROUP2;}interrupt void EvaTimer2(void){qep1.isr(&qep1);EvaRegs.EV AIMRC.bit.CAP3INT = 1;EvaRegs.EV AIFRC.all = BIT2;PieCtrlRegs.PIEACK.all |= PIEACK_GROUP3;}void InitEv(void){EvaRegs.TI PR=OxFFFF;Tl周期EvaRegs.TICNT=0;EvaRegs.TlCON.All=0;EvaRegs.TICON.bit.TMODE=2:/,逢续增计数模式EvaRegs.T1CON.bit.TPS=4;H150MHz的32分频(HSP.CLK已2分频。

相关文档
最新文档