近期应付零零散散的专业课考试也是蛮拼的,更苦X的是眼瞅着就要到了最后的考试周了,对于没有上过几节基础课的楼猪,也是醉了!~ 楼猪为了不被各位大神落的太远,也是在抽空看看各位大神发的帖子,测试各类例程。看了很多大神的帖子都是关于透传测试例程的测试,楼主也就跟风测试,下面来简述遇测试过程中的遇到的一些状况。
之前费了九牛二虎之力才把ASF 3.20更新包下载下来,鉴于Extension Manager的链接不太好使,我就把更新包上传到网盘了,在这里共享一下方便大家下载。
as-asf-msi-6.2.1295-win32.win32.x86
链接: file:///C:\Users\dell\AppData\Local\Temp\%W@GJ$ACOF(TYDYECOKVDYB.pnghttp://pan.baidu.com/s/1o6KBI58 提取密码: r776
安装过程楼猪就不做赘述了。
file:///C:\Users\dell\AppData\Roaming\Tencent\Users\1684725567\QQ\WinTemp\RichOle\2~)]2(L3VGSZRMEM_48$)(4.jpg
现在可以正式开始跑Peer2Peer例程
串口透传实际上使用的不是串口,而是其他的通讯方式,比如以太网、蓝牙、zigbee、gprs等等,而串口数据作为这些协议帧中的数据区。
在例程中我们选择LWMesh-Peer2peer。进入例程后
config.h中的 APP_ADDR中分别设置0给第一个板子,1给第二块板子 ,因为我们就两块板子不需要组网,所以0.1区分开即可。分别给两个板子下载程序0/1程序即可。
当楼主开始用STC-ISP中的串口助手来进行透传通讯问题随之而来。。。。波特率9600,其他各类设置均正确但是串口始终打不开,两个板子的STATUS的灯也都未亮。
测试始终不能打开串口,所以楼猪换了另一个串口助手,很顺利的打开了两个板子的串口,而且发现当两个板子的串口开过一次后,再用STC-ISP的串口助手就可以顺利的打开串口了。
在进行通讯的时候 又遇到了新的问题比如接收端接受的数据在16位的显示状况下要比实际数据多80的情况,并且传送数据一定次数时,会出现错码现象比如说接收端出现了一个相比80不应该出现的90的数据。楼主分析很久,并且重新烧拷很多次程序仍是没有实现正确的数据传送。
跟大神讨论后发现有可能是传送速度的问题,stm32的串口发送数据时是一个字节一个字节发送,当两个字节间的发送时间过短可能会出现错码的现象。
所以可以在发送数据时设置一个延时来减缓每个字节的发送速度。
在楼主的添加延时后的不断尝试下,终于成功发出了一个信号,之后就可以顺利发送各种数据也不会出现误码和错码的现象,并且发现在使用sscom这个串口助手时在不选择DTR也可以正常发送数据, DTR,数据终端就绪。例如,在串行通信中使用的一个信号,通过计算机发送到调制解调器上,以表明计算机已经准备就绪,可以接收未来的传输。
但是鉴于DTR的作用所以还是建议大家选择DTR.
之后楼主再换了台电脑进行透传测试时候发现延时再不加入的情况下也是可以正确传送数据的。
有明白其中问题所在的朋友还请多多指教
本帖最后由 义剑仗乾坤 于 2014-12-29 17:45 编辑