董力鸣 发表于 2020-11-5 15:54:45

有哪位大神帮我看一下我下面代码哪里有出错的!!HT66F2370串口通信



发送 0x5A 0XA1 0XA2 0XA3 0XA4 0XA5这组数据给RX,但是接收不到,有哪位大神帮忙看一下指出错误:'(


uint8_t rdata_count;    //数组下标
uint8_t rdata_buf;//接受数组

void Send_Char(uint8_t s)
{
        _emi = 0;
               
        while(_tidle0 == 0);
        _txr_rxr0 = s;
        _emi = 1;       
}

void send1_test(void )
{
       
        uint8_t i;
        for(i=0;i<28;i++)
        {
                Send_Char(rdata_buf);
               
        }

        Send_Char(0xAA);               
}
void Receive_Message_Buf( void )
{
       
                while(_ridle0==0);
                       
                rdata_buf = _txr_rxr0;
               
                rdata_count ++;
               
                if(rdata_count == 30)
                {
                        rdata_count = 0;
                }       
}

DEFINE_ISR(UART0,0x3C)
{
   Receive_Message_Buf();

   send1_test();

   _ur0f = 0;//清除标志
}
void uart_init(void)
{
               _pas1 = 0b11110000;      //TXRX
        _u0cr1 = 0b10000000;
        _u0cr2 = 0b11101100;
        _brg0 = 0b00001000;   
        _ur0e = 1;
        _ur0f = 0;
        _mf5e = 1;
        _mf5f = 0;

}

admin 发表于 2020-11-5 17:55:34

你这个程序逻辑,真的是。。。。
接收中断里还发送一堆
能连续收到一串字符才怪。。。

董力鸣 发表于 2020-11-6 08:37:33

admin 发表于 2020-11-5 17:55
你这个程序逻辑,真的是。。。。
接收中断里还发送一堆
能连续收到一串字符才怪。。。

嗯嗯嗯,已经解决了,就是在接收中断里面处理发送的问题,自己憨批了
页: [1]
查看完整版本: 有哪位大神帮我看一下我下面代码哪里有出错的!!HT66F2370串口通信