STM32片机 C语言 怎么输出485modbus的8位16进制指令?

小白一枚,现在拿到项目需要利用STM32单片机输出16进制的指令,
利用现有的项目进行修改,但是对C语言不熟悉,不知道怎么下手。
发送部分的代码如下

u8 rs485buf[5]; 
while(1)
    {
        key=KEY_Scan(0);
        if(key==KEY0_PRES)
        {
            for(i=0;i<5;i++)
            {
                rs485buf[1]=01;
                rs485buf[2]=02;
                rs485buf[3]=03;
              LCD_ShowxNum(30+i*32,190,rs485buf[i],3,16,0X80);  
            RS485_Send_Data(rs485buf,8);                                       
        }
    }
 }

利用这段代码输出的指令和电脑收到的指令不同,
比如我输出的是

rs485buf[0]=0x0E;
rs485buf[1]=0x0A;
rs485buf[2]=0x0B;
rs485buf[3]=0x0C;
rs485buf[4]=0x0D;

但是电脑收到的有时候是
3C 3D 7A 9E DE
有时候是
E3 D6 D2 CE CA FF
不知道是什么原因
有没有哪位前辈能指导一下

您好,问题解决了吗?我也有类似的问题,想请教您一下