自己做了一个温湿度采集模块,用485转232和电脑串口调试都能正常收发,开发板也能正常收发。可是将开发板和采集模块连起来,却不能正常收发了。请大神帮忙给看一下,小弟先谢谢了。下面附上程序:
这是主程序里面的: sendconfig_buff(); //发送配置传感器的函数,定义在下面
RS485_Receive_Data(rs485buf,len); //485的接收程序,就是咱实验里面定义好的,我直接拿来用的
for(j=0;j<6;j++)
{
buff3[j]=rs485buf[j]-'0'; //buff[] 是我定义的一个u32类型的,rs485buf[j]是一个u8类型的,两个都是含有六个元素。
LCD_ShowxNum(20*j+100,100,buff3[j],4,16,1);
}
这个是sendconfig_buff()的定义: u8 modbusbuff[6]={0x01,0x03,0x01,0x01,0x31,0x88};
void sendconfig_buff()
{
RS485_Send_Data(modbusbuff,6);
}
说明:因为温湿度采集器的协议就是发送一个16进制的数据帧:0x01,0x03,0x01,0x01,0x31,0x88;
它就应该返回一个:01 03 02 8c 36 7b 01 ;
这已经通过串口调试过了,可以返回。
总结:现在主要的原因就是,在主函数里,开发板可以发送数据帧0x01,0x03,0x01,0x01,0x31,0x88;但是程序停在了上面RS485_Receive_Data(rs485buf,len); 这里就不在运行了,所以在屏幕上没显示,请大家帮帮我。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>