小结
过程总是艰难。
首先是没有准备好。
没有安装vs2012,安装的时候,出现各种状况,因为先安装的2013高版本,造成12安装不正确,程序编译出问题。没有办法,只好卸载vs2012,2013及其各项内容啊,卸载完了发现连vs2010也不能工作了。修复一下,仍旧不行,都乱套完了。
我做出了一个及其重要的决定:重装系统。
新作系统,然后vs2010,vs2012,vs2013挨个装上,然后备份系统。看看以后还有问题,直接还原。
接下来,就是各种不熟悉,代码全新的,也没有人详细介绍,功能跟不熟悉,还的跟硬件串口通信,虽然大学学过也做过类似工作,但都多少年了。问题各种找,发现程序新版本下载有问题,因为就版本下载,新版本start是正常的。
然后,确认问题,新旧版本对照,函数都一样,就是找不出问题。也有怀疑过以下:
1.串口通信波特率不一致,查找,发现没有问题,均为115200.
2.流方式写入,文件没有关闭。找资料,说若是临时变量,不关,变量析构时候也会关闭的。我代码关闭close,发现没有效果。排除之。
3.文件读写没有使用二进制方式,测试一下,结果是NO。排除之。
4.数据发送问题。哈哈,啊哈,我终于找到了你。
最后,确认是数据发送问题。新旧版本发送内容偶尔一致,偶尔不一致,线程同步问题。
新版数据发送有问题。通过代码发现,数据发送在流传送的第一次就开始触发事件了,这样就可能造成后面的流数据没有缓存完毕,就开始发送了。
解决方法:先数据全部缓存,然后待缓存完毕,然后发送事件,数据给端口。搞定。
之前没有解决,可能以后的问题:
1.播放和动作文件不同步。
2.强制停止,或杀死播放,动作不停止问题。
3.多次播放,不会加载的问题。需要每次启动才可以重新加载。
自己的问题:
代码对我来说,热乎,全新而陌生啊。有点找不到头绪。
希望自己多熟悉多了解,多问。
-------------------------------------
多学,多思,多问,多知!