⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zl_qepcap.c

📁 2812设计源码 ADC 模块编程必须首先设置时钟
💻 C
字号:
#include "DSP28_Device.h"

void qepcap(void){
	 //增量式编码器每转产生1024个脉冲,A,B接入QEP4,QEP5,Z接入CAP6
   //QEP正交编码器A,B
   //定时器2
   //初始化
   	EvaRegs.CAP3FIFO = 0x0000;
   	EvaRegs.CAP3FBOT = 0x0000;
   	EvaRegs.CAPFIFO.all = 0x0000;
    EvaRegs.T2PR = 0x0FFFF;       //  Timer2周期寄存器
    //EvaRegs.T2CMPR = 0x0000;     //  Timer2比较寄存器
    EvaRegs.T2CNT = 0x0000;      //  Timer2计数寄存器 转角信息存在此处
    EvaRegs.T2CON.all = 0x9870;  //  TMODE=定向增/减计数模式,禁止比较
    //EvaRegs.T2CON.TMODE(12-11) = 3, 定向增/减计数模式
    //EvaRegs.T2CON.TCLKS10(5-4) = 3; 时钟源选择正交脉冲编码电路,对输入四倍频
    EvaRegs.CAPCON.bit.CAPQEPN = 0;   //禁止捕获单元1和2
    
    EvaRegs.EVAIMRC.bit.CAP3INT = 1;
    EvaRegs.EVAIFRC.bit.CAP3INT = 1;


    //捕获
    EvaRegs.CAPCON.bit.CAP3EN   = 1;   //允许捕获单元3
    EvaRegs.CAPCON.bit.CAP3TSEL = 0;   //捕捉单元3的定时器选择定时器2
    EvaRegs.CAPCON.bit.CAP3EDGE = 2;   //检测下降沿,记录

    EALLOW;
    GpioMuxRegs.GPAMUX.bit.CAP1Q1_GPIOA8   = 1; //使能CAP1引脚 A
    GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9   = 1; //使能CAP2引脚 B
    GpioMuxRegs.GPAMUX.bit.CAP3QI1_GPIOA10 = 1; //使能CAP3引脚 Z
    EDIS;
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -