在线时间19 小时
UID276433
注册时间2011-4-6
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 215
- 最后登录
- 1970-1-1
|
本帖最后由 navy1988 于 2014-12-31 13:57 编辑
我在用K60串口中断时,通过串口调试工具发一个字节,单片机能收到,但立刻就死机,什么原因啊,求大神帮忙;程序中PIT定时器中断可靠执行;
void Uart0_init(void) //(uint8 uartNo, uint32 baud)
{
//开发板上串口0是PTD6,PTD7
PORTD_PCR6 = 0X0300;//使能UART0_TXD
PORTD_PCR7 =0X0300 ; //使能UART0_RXD
// PORTB_PCR17 = 0X0300;//使能UART0_TXD
// PORTB_PCR16 =0X0300 ; //使能UART0_RXD
PORTC_PCR4= 0X0300; //使能UART1_TXD
PORTC_PCR3 =0X0300 ; //使能UART1_RXD
PORTD_PCR3= 0X0300; //使能UART1_TXD
PORTD_PCR2 =0X0300 ; //使能UART1_RXD
SIM_SCGC4|=0x3c00; //使能串口0、1、2、3时钟
NVICICPR1 = NVICICPR1|(1<<13); //清除挂载在UART0的中断
NVICISER1 =NVICISER1|(1<<13); //使能UART0中断
//暂时关闭串口发送与接收功能
UART0_C2 &= ~(UART_C2_TE_MASK | UART_C2_RE_MASK);
//配置串口工作模式
//8位无校验模式
UART0_C1 = 0;
//配置波特率
//串口0、1使用的内核时钟是其它串口使用外设时钟频率的2倍 即内核时钟96M
UART0_BDH=0X2;
UART0_BDL=0X71;
UART0_C4= UART0_C4 | 0X00;
//启动发送接收
UART0_C2=UART0_C2|0x2c;//0c时可发送
// UART_C2_REG(uartch) |= (UART_C2_TE_MASK | UART_C2_RE_MASK );
}
void isr_uart0_re(void)
{
//判断接收缓冲区是否满
if((UART0_S1&0x20)>>5){
RXdata=UART0_D; //读取数据寄存器
}
}
(tIsrFunc)isr_uart0_re, /* 61 (0x000000F4) (prior: -) */
|
|