interrupt void SCIRXINTA_ISR_m(void) // SCI-B
{
static unsigned int RxBuf;
PieCtrlRegs.PIEACK.bit.ACK9 = 1;
RxBuf=SciaRegs.SCIRXBUF.all;
CHUAN=CHUAN+10;
switch(RxBuf)
{
case 0: //增加输入电压百分比
P=P+0.1;
break;
case 1: //运行
P=P-0.1;
break;
}
EINT;
}
interrupt void SCITXINTA_ISR_m(void) // SCI-B
{
PieCtrlRegs.PIEACK.bit.ACK9 = 1;
SciaRegs.SCITXBUF=0x12fe;
EINT;
}
程序如上,,只打开接收或者只打开发送中断就没问题,,,两个一起开,,发送可以 ,,MCU的接收就不起作用了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我的印象中PIC的中断入口只有一个,要处理多中断就要查询下,
比如用if语句判断后对应处理某个中断,排在最前面的就是最先处理的,
还有那个波特率就那么点也叫高?
我弄过接近1M的(可以搜我的帖子),
主要问题在于你处理中断的方法不对.
一周热门 更多>