cyc2009 发表于 2011-4-6 10:26:21

STC 串口复用中断切换不过来???

大家好,我使用stc12c5a60s2单片机,使用其中的的串口2,想让其两个引脚都产生中断,并在中断服务程序中进行区分是哪个引脚引起的,一直没成功,过来万能的坛进行求解,谢谢。中断代码如下:
//串行口2接受中断程序
void UART2RInt(void) interrupt 8 using 3
{
unsigned char temp;
unsigned char reset;
temp=S2CON;                                        //clear interrupt symbol
temp=temp&0xfe;
S2CON=temp;
if(AUXR1&0x10==0)
{GPS=S2BUF;
    if(GPS==0x0a)
    {
      if(GPS==0X41)
         {
        endGPS=RGCount;
        RGCount=0;
        GPSV=1;
         }
    else
        RGCount=0;
   }
else
{RGCount++;GPSV=0;}
}
else if(AUXR1&0x10==0x10)//这个判断一直进不去啊,不能发送55 和aa 进行观察???
{AUXR1=AUXR1|0x10;
    SendUARTTwoB(0x55);
    SendUARTTwoB(0xAA);
}
}

babysnail 发表于 2011-4-6 10:32:28

又是stc,lz你悲剧了

cyc2009 发表于 2011-4-6 10:39:41

回复【1楼】babysnail 蜗仔
-----------------------------------------------------------------------

哥们,何解?是不是说stc太烂了啊?

flywater 发表于 2011-4-6 10:54:59

你应该先设置P4SW,把P4口搞成IO,否则P4口无功能!

cyc2009 发表于 2011-4-6 11:24:22

回复【3楼】flywater 落叶
你应该先设置p4sw,把p4口搞成io,否则p4口无功能!
-----------------------------------------------------------------------
刚查看了一下datasheet P4SW的设置与串口使用到P4里面的引脚无关

jrcsh 发表于 2011-4-6 11:31:37

void UART2RInt(void) interrupt 8 using 3


按这个看猫是了弟9个 中断 ?   

有中断的不是在 3.03.1么

我这没这样搞过从流程上来说你想改变用法 哪就重新配置IO状态

最省事的还是 用IO为 IO状态 要发送数据了在 设置为 串口完了在设置回 IO状态

rigol_fan 发表于 2011-4-6 12:33:34

请看数据手册,串口一和串口二中断是两个独立的中断入口。

一楼不要误导新人,STC挺好

flywater 发表于 2011-4-6 13:08:45

把if(AUXR1&0x10==0)和else if(AUXR1&0x10==0x10)改成if((AUXR1&0x10)==0)和else if((AUXR1&0x10)==0x10),不同的编译器表达式优先级别有差异,KEIL内必须加上括号。
另不知道你的SendUARTTwoB发送函数是怎么写的,强烈不建议在串行中断内直接用死等方式发送数据,除非老妖手册上会这么干。

cyc2009 发表于 2011-4-6 15:04:04

回复【7楼】flywater 落叶
把if(auxr1&0x10==0)和else if(auxr1&0x10==0x10)改成if((auxr1&0x10)==0)和else if((auxr1&0x10)==0x10),不同的编译器表达式优先级别有差异,keil内必须加上括号。
另不知道你的senduarttwob发送函数是怎么写的,强烈不建议在串行中断内直接用死等方式发送数据,除非老妖手册上会这么干。
-----------------------------------------------------------------------
谢谢,就是因为senduarttwob里面有个死等,我后面用个标志,在主函数里面senduarttwob了,谢谢了!非常感谢!同时也感谢这种乐于助人的精神。

along 发表于 2012-5-18 00:11:59

STC还是可以的。
页: [1]
查看完整版本: STC 串口复用中断切换不过来???