本帖最后由 笨鸟想飞 于 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]
原子哥的例程也是这样的,cnt一直累加,屏幕上显示的也不是匹配的,我怀疑是进制转换的问题,可发送的不是16进制的吗?
一周热门 更多>