|
发表于 2015-12-7 11:11:51
|
显示全部楼层
给小车发送16进制指令(FF 00 01 00 FF)是没有问题的,但是您说的需要连续发送才能使小车前进,这个是不对的吧,只需要给小车发送一遍FF 00 01 00 FF 小车就前进了,如果你连续发送,只能会使单片机的不断的重复解析控制指令,所以直发送一遍就好了,而且我们论坛的软件上也对控制端做了优化,控制指令不是连续发送的(你可以用串口助手测试一下)。
如果你用论坛的软件控制小车没有问题,说明小车下位机的硬件没有任何问题了,现在改用MATLAB编写的程序无法控制,原因可能有如下原因:
1、控制地址和端口是否配置正确;
2、发送控制指令是否正确,例如我们看前进的控制指令是FF000100FF看上去好像是一串字符串,实际上通过上位机发送出去的是5对16进制(hex格式)首先发送包头FF,然后发送00,然后是01,然后是00,最后包尾FF,所以一定注意我们发送的5对16进制,不是5对字符串,我估计你的问题就是这里了。
3、上位机连接路由器的通讯协议是TCP协议,这个自己百度找demo就行了,注意ip和端口不要写错。如果你用的是论坛的wifi模块,ip:192.168.1.1,端口:2001。可以用串口助手测试一下,MATLAB是否可以正常发送控制指令,如果可以,再回头第2步,如果不可以就检测tcp协议了。
最后论坛有很多开源的源码供你参考,祝您你早点完成你的大作。。。 |
|