本帖最后由 耗子小兵 于 2017-8-18 23:52 编辑
由于没有带载有程序的U盘,所以没有办法继续写下面的教程的具体的实现了,所以现在来讲讲解决数据接收的问题。(以下代码暂时未经过测试, 明天会送上测试过的代码) 我们希望程序在空闲的时候,不去检查串口的数据,但是串口数据包一旦最后一个字节的数据接收完成,我们会立即去查看数据包里面的数据,然后对数据进行处理。 OK,下面上代码。这里只上串口中断和定时器中断里面的代码,和相关的处理的函数(基于HC89F003MCU,同样是51的核)上截图了,发现直接上传代码格式有点问题。
以上就是串口定时接收的程序,但是这里注意的事情是,在WIFI模块里面有AT+RST命令,最后几个字节的应答数据会和前面的字节数据延时很长的时间,所以这个时候,需要动态的管理和溢出的时间。 所以我们提供一个函数接口,修改代码如下,这样的话可以对串口接收的时间进行把控,并且对于WIFI模块主动发送过来的数据可以及时的把控,并且不需要实时的去查看:
好了,今天就到这里了,明天开始加入超时重发,超时处理。WIFI模块推迟两天再说,现在手头没有模块,丢老师那边去了。。。。。。。 |