中级会员
- 积分
- 345
- 威望
- 256
- 贡献
- 43
- 兑换币
- 22
- 注册时间
- 2009-8-20
- 在线时间
- 23 小时
|
求救:关键代码如下,尽管我已将SCI设置为最高优先级,可程序进入interrupt 7中断后, 可以进入SciTx函数,也执行完 SCI0DRH=0x00;
SCI0DRL=0x21ORTB^=0xff;可串口上就是没有输出信号,求解?
/*-------串口初始化----------------------*/
void SciInit(){
SCI0BDL = (unsigned char)((16000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/);
SCI0CR1=0; /*normal,no parity*/
SCI0CR2=0X2C; /*RIE=1,TE=1,RE=1*/
HPRIO=0XD6;
}
/*-------发射端程序----------------------*/
void SciTx()
{
while (!(SCI0SR1&0x80)); /* wait for output buffer empty */
SCI0DRH=0x00;
SCI0DRL=0x21;
PORTB^=0xff;
}
void main(void) {
/* put your own code here */
DisableInterrupts;
DDRH=0XFF;
PLL_Init();
Start_PLL();
SciInit() ;
PaiInit();
RealTimer_Int();
DDRB=0XFF;
PORTB=0XAA;
EnableInterrupts;
for(;;) {} /* wait forever */
/* please make sure that you never leave this function */
}
void interrupt 7 RealTime(void)
{
CRGFLG_RTIF=1; //Clear Flag
// PTH^=0X01;
speed_m = PACN32 ;
PACN32=0; //PT7 采集
SciTx();
} |
|