飞思卡尔单片机MC9S12D64同时打开两个串口中断单片机死机

[复制链接]
4108|1
 楼主| luciatian 发表于 2011-12-1 18:31 | 显示全部楼层 |阅读模式
最近用飞思卡尔单片机MC9S12D64同时打开两个串口(串口接收中断),利用232转485模块做485多级通信。发现只接其中任何一路都能正常发送接收,但当同时接上两路时单片机直接死机!请问哪位知道怎么回事,下面是串口初始化程序!
void InitSCI(void)
{
    SCI0BDH=0x00;   //
    SCI0BDL=0x1a;   //12M,28800bps   BAUD=12M/16*BDL
    SCI0CR1=0x14;   //1个起始位,9个数据位,1个停止位
    SCI0CR2=0x2c;
   
    SCI1BDH=0x00;   //
    SCI1BDL=0x1a;    //12M,28800bps   BAUD=12M/16*BDL
    SCI1CR1=0x14;   //1个起始位,9个数据位,1个停止位
    SCI1CR2=0x2c;
    //以下为232转485模块控制
    SCI0_EN;            //串口0使能
    SCI1_EN;            //串口1使能
    SCI0_RX;            //串口0允许接收
    SCI1_RX;            //串口1允许接收
    //以下为多机通信时从机(单片机)判断主机发送的地址时用
    SCI0CR1_M=1;
    SCI0DRH_R8=0;

    SCI1CR1_M=1;
    SCI1DRH_R8=0;

    return;                                
}
 楼主| luciatian 发表于 2011-12-5 09:11 | 显示全部楼层
现象是解决了,在使用SCI的同时,使用了CAN通信和外部中断,关闭外部中断后都正常了,但具体原因不知为何?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部