我想把AD结果送上位机显示,,,但是串口发送和接收中断都打开就出问题,,哪个地方不好??

2020-02-08 12:17发布

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的接收就不起作用了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
19BUS
1楼-- · 2020-02-08 15:03
我分析 :  1.波特率太高   19200
                 2.TX和 RX中断级别收不到 。。不知道我分析的对不 ,,哪个做过交流下


我现在想把 AD送上位机 ,,用上位机操作给定,,但是 TX 和 RX同时开 RX就没作
19BUS
2楼-- · 2020-02-08 18:42
哪个做过交流下
keil_c51
3楼-- · 2020-02-08 21:48
进中断以后,先把总中断关了,比如51的EA
19BUS
4楼-- · 2020-02-09 02:57
 精彩回答 2  元偷偷看……
19BUS
5楼-- · 2020-02-09 03:42
那 不好   ,,我还有 PWM中断 ,,现在就是 卡在 接受中断和发送中断
visharn
6楼-- · 2020-02-09 06:00
多余一半就是你程序的原因,上位机程序是自己写的?你可以用串口监听工具监听一下看收发数据有没有 再排除问题

一周热门 更多>