📄 dsp28_ev.c
字号:
//
// TMDX ALPHA RELEASE
// Intended for product evaluation purposes
//
//###########################################################################
//
// FILE: DSP28_Ev.c
//
// TITLE: DSP28 Event Manager Initialization & Support Functions.
//
//###########################################################################
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 0.55| 06 May 2002 | L.H. | EzDSP Alpha Release
// 0.56| 20 May 2002 | L.H. | No change
// 0.57| 27 May 2002 | L.H. | No change
//###########################################################################
#include "DSP28_Device.h"
//---------------------------------------------------------------------------
// InitEv:
//---------------------------------------------------------------------------
// This function initializes to a known state.
//
void InitEv(void)
{
// Initalize the timers
EvaRegs.T1PR = 0x0000; // Timer1 period//65535
//EvaRegs.T1CMPR = 0xffff; // Timer1 compare//15360
EvaRegs.T1CNT = 0x0000; // Timer1 counter
//EvaRegs.T1CON.all = 0x1742;
EvaRegs.T1CON.bit.TMODE=2;//连续增计数模式
EvaRegs.T1CON.bit.TPS=5;//预定标HSPCLK/128
//EvaRegs.T1CON.bit.TENABLE=1;//使用定时器操作
EvaRegs.T1CON.bit.TCLKS10=00;//使用内部时钟
EvaRegs.T1CON.bit.TCLD10=10;
EvaRegs.T1CON.bit.TECMPR=1;//禁止定时器比较操作
EvaRegs.ACTRA.all = 0x0000;
EvaRegs.T2PR = 0xffff; // Timer2 period//4095
//EvaRegs.T2CMPR = 0xffff; // Timer2 compare//960
EvaRegs.T2CNT = 0x0000; // Timer2 counter
//EvaRegs.T2CON.all = 0x1742;
EvaRegs.T2CON.bit.TMODE=2;//连续增计数模式
EvaRegs.T2CON.bit.TPS=5;//预定标HSPCLK/128
//EvaRegs.T2CON.bit.TENABLE=1;//使用定时器操作
EvaRegs.T2CON.bit.TCLKS10=00;//使用内部时钟
EvaRegs.T2CON.bit.TCLD10=10;
EvaRegs.T2CON.bit.TECMPR=1;//禁止定时器比较操作
EvaRegs.GPTCONA.bit.T1CTRIP = 0;
EvaRegs.GPTCONA.bit.T2CTRIP = 0;
EvaRegs.GPTCONA.bit.TCMPOE = 1;
EvaRegs.GPTCONA.bit.T1CMPOE = 1;
EvaRegs.GPTCONA.bit.T2CMPOE = 1;
// Polarity of GP Timer 1 Compare = Active low
EvaRegs.GPTCONA.bit.T1PIN = 11;
// Polarity of GP Timer 2 Compare = Active high
EvaRegs.GPTCONA.bit.T2PIN = 11;
GpioDataRegs.GPADAT.bit.GPIOA0= 1;//PWM1/A0输出高
GpioDataRegs.GPADAT.bit.GPIOA1= 1;//PWM2/A1输出高
GpioDataRegs.GPADAT.bit.GPIOA2= 1;//PWM3/A2输出高
GpioDataRegs.GPADAT.bit.GPIOA3= 1;//PWM4/A3输出高
GpioDataRegs.GPADAT.bit.GPIOA4= 1;//PWM5/A4输出高
GpioDataRegs.GPADAT.bit.GPIOA5= 1;//PWM6/A5输出高
//EvaRegs.CAPCONA.all = 0x3504;//00110110 00000100
EvaRegs.CAPCONA.bit.CAPRES=0;//复位捕获单元
EvaRegs.CAPCONA.bit.CAPQEPN=1;//捕获12使能
EvaRegs.CAPCONA.bit.CAP3EN=1;//捕获3使能
EvaRegs.CAPCONA.bit.CAP3TSEL=0;//为捕获单元3选择通用定时器2
EvaRegs.CAPCONA.bit.CAP12TSEL=1;//为捕获单元1、2选择通用定时器1
EvaRegs.CAPCONA.bit.CAP3TOADC=0;//无事件启动ADC
EvaRegs.CAPCONA.bit.CAP2EDGE=11;//检测上下降沿
EvaRegs.CAPCONA.bit.CAP3EDGE=11;//检测上下升沿
EvaRegs.CAPFIFOA.bit.CAP3FIFO=1;//已有一个捕获值,保证再捕获一个CAP3就可以产生中断
EvaRegs.CAPFIFOA.bit.CAP2FIFO=1;//已有一个捕获值,保证再捕获一个CAP2就可以产生中断
//EvaRegs.CAPFIFOA.bit.CAP1FIFO=1;//已有一个捕获值,保证再捕获一个CAP1就可以产生中断
/*
EvaRegs.ACTRA.all = 0x0666;
EvaRegs.DBTCONA.all = 0x0000; // Disable deadband
EvaRegs.COMCONA.all = 0xA600;
*/
/* // Initialize EVB Timer3
// Timer3 controls T3PWM and PWM7-12
EvbRegs.T3PR = 0xffff; // Timer1 period//65535
EvbRegs.T3CMPR = 0xffff; // Timer1 compare//15360
EvbRegs.T3CNT = 0x0000; // Timer1 counter
//EvaRegs.T3CON.all = 0x1742;
EvbRegs.T3CON.bit.TMODE=2;//连续增计数模式
EvbRegs.T3CON.bit.TPS=7;//预定标HSPCLK/128
EvbRegs.T3CON.bit.TENABLE=1;//使用定时器操作
EvbRegs.T3CON.bit.TCLKS10=00;//使用内部时钟
EvbRegs.T3CON.bit.TECMPR=0;//使能苟ㄊ逼鞅冉喜僮
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -