RS485例程发送16进制数,接收有误?

2019-08-14 04:23发布

本帖最后由 笨鸟想飞 于 2017-8-30 14:24 编辑



参照原子哥RS485例程,我改了以下,发送[mw_shl_code=applescript,true]u8 ADDBuffer[5]={0x01,0x02,0x03,0x04,0x05}; [/mw_shl_code]


发送这个数组,接收到的是  81 82 03 84 05  这五个16进制数,不是我想要的 01 02 03 04 05
请问是不是进制没搞对?
RS485驱动用的是103ZE战舰版的驱动
以下为主程序代码

[mw_shl_code=applescript,true]
u8 ADDBuffer[5]={0x01,0x02,0x03,0x04,0x05};  

int main(void)
{
        u8 t,DATA_RVC_LEN;
  u8 key=0;
        delay_init();                  //初始化延时函数
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        uart_init(1,9600,E);
        RS485_Init(2400);
        
        
        LED_Init();                        //初始化LED端口
        KEY_Init();
        LED0=0;



        
        while(1)
        {         

                        key=KEY_Scan(0);        //得到键值
                   if(key)
                {                                                   
                        switch(key)
                        {                                 
                                case WKUP_PRES:        //控制蜂鸣器
                                
                                  RS485_Send_Data(ADDBuffer,5);
                                
                                        break;
                                case KEY2_PRES:        //控制LED0翻转
                                        LED0=!LED0;
                                        break;
                                case KEY1_PRES:        //控制LED1翻转         
                                        LED1=!LED1;
                                        break;
                                case KEY0_PRES:        //同时控制LED0,LED1翻转
                                        LED0=!LED0;
                                        LED1=!LED1;
                                        break;
                        }
                }else delay_ms(50);

               
                }         
}        [/mw_shl_code]




}@O27N`$MB%_3JQN$RP0.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。