注册会员
- 积分
- 135
- 威望
- 79
- 贡献
- 36
- 兑换币
- 38
- 注册时间
- 2013-4-23
- 在线时间
- 10 小时
- 毕业学校
- 海南师范大学
|
//*************主频设置************************************************
void Busclock(void) //05,01 48MHz 06,01 56MHz 07,01 64MHz 08,01 72MHz
{
CLKSEL=0x00;
PLLCTL_PLLON=1;
SYNR=0xC0 | 0x07;
REFDV=0xC0 | 0x01;
POSTDIV=0x00;
_asm(nop);
_asm(nop);
while(!(CRGFLG_LOCK==1));
CLKSEL_PLLSEL =1;
}
void PWMInit(void) //PWM初始化
{
PWME=0x00;//禁止PWM输出
PWMCLK=0x00;//时钟源为:CLOCKA,CLOCKB
PWMPRCLK=0x66;// PWMPRCLK=0x66;//PWM时钟CLOCKA,CLOCKB频率均为:64MHz/64=1MHz
PWMPOL_PPOL1=1;//先输出高电平
PWMPOL_PPOL3=1;//先输出高电平
PWMPOL_PPOL5=1;//先输出高电平
PWMCAE=0x00;//左对齐
PWMPER45=20000;// 舵机
PWMPER23=500;//电机 PWMx输出频率=时钟频率/(2* PWMPERx)=1M
PWMPER01=500;//电机
PWMCTL_CON01=1;//01口级联
PWMCTL_CON23=1;//23口级联
PWMCTL_CON45=1;//45口级联
PWME=0xFF;
}
void PAC_init(void)
{
PACTL = 0x50; //脉冲计数 下降沿
PACNT = 0x00; // Pulse Accumulators Count Registers (PACNT
}
void PIT_init(void) //脉冲pt7初始化
{
PITCFLMT_PITE=0x00; //定时中断通道0关
PITCE_PCE0=1; //定时器通道0使能
PITMUX=0x00;
PITMTLD0=24-1; //8位定时器初值设定,8分频,在64MHzBusClock下,为8MHz。即0.125us
PITLD0=8000-1; //16位定时器初值设定 //定时周期=(PITMTLD0+1)*(PITMTLD0+1)/总线频率=? PITTIME*0.125uS 8000*0.125 =1ms即1mS中断一次
PITINTE_PINTE0=1;//定时器中断通道0中断使能
PITCFLMT_PITE=1; //定时器通道0使能
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED //指示该程序在不分页区
void interrupt 66 PIT0_ISR(void)
{
PITTF_PTF0=1; //清除中断标志
aa=PACNT;//读取脉冲累加器的当前值?pulse[0]设为全局变量
PACNT=0; //重新计数
pid_flag=1; //设置标志位
}
#pragma CODE_SEG DEFAULT
请问问什么PT7采集不到信号,求指教
|
|