分享

!!使用ToStc通过蓝牙串口模块,让stc单片机无线下载程序|我爱单片机

 quasiceo 2015-08-17

使用ToStc通过蓝牙串口模块,让stc单片机无线下载程序
当我知道有个叫蓝牙透明串口的东西后,我就想使用它给stc单片机无线下载程序。一年以前,自己从网上买了一个蓝牙透明串口模块,当时卖家就告诉我,要想通过蓝牙串口给stc单片机下载程序,必须把把stc官方的下载软件stcisp使用有线成功下载一次程序后,才可以使用蓝牙串口模块进行无线下载。当时按卖家所说的,试了下,真的可以,不过每次都要使用有线下载后才可以使用蓝牙下载,使得蓝牙下载显得十分麻烦,失去了意义。当时又试了另一个stc的非官方下载软件mcuisp,但是也不支持使用蓝牙。无奈最终放弃使用蓝牙下载的想法。
       两个星期以前,ToStc问世,基本上实现了给stc单片机下载程序。这个时候,我又想起了那个蓝牙模块,经过自己分析,终于找到了用蓝牙模块给stc下载程序程序失败原因
①:stc下载时,串口协议是8数据位,1停止位,偶校验。而蓝牙串口通常默认是:8数据位1停止位,无校验。(我之前成功用蓝牙模块给stc下载程序,没有修改过串口协议,竟然能成功,不可思议。我也咨询过其他使用蓝牙模块给stc下载的朋友,他也说没有修改串口协议。这个问题,有谁知道原因的,麻烦告知下)
②:蓝牙串口模块通常都是固定波特率的,波特率不能通过电脑程序直接修改。而stc的下载软件在下载过程中,通常是先用较低波特率和单片机握手,之后使用较高波特率下载程序。stc官方下载软件stcisp可以设置最低和最高波特率,但即使设置最低和最高相同,stcisp在下载过程中仍然会关闭打开串口多次,但蓝牙串口及一些usb接口虚拟出来的串口在打开和关闭时反应较慢,造成数据丢失,这是造成很多下载线不兼容的主要原因。
       找到了原因,就可以有针对性的解决问题了:
①的解决方法,只能从蓝牙串口模块下手,stc单片机端不一定会对每一字节做偶校验,但是单片机返回的数据格式都是带有偶校验位的,如果串口模块设置的是没有校验位,那接收地数据位数就不一致,数据肯定是错误的。幸运的是,查找蓝牙串口的datasheet,发现它可以通过at命令设置波特率和协议,按照文档上的命令,我将蓝牙模块设置为9600波特率,8数据位1停止位偶校验。
②需要修改下载程序.好在ToStc是我自己做的,可以随便修改。添加一个“最低最高波特率相同”的复选框,当勾选时,程序在下载过程中不再关闭和打开串口。然后试了试,发现成功了,随时打开软件,随时都可以用蓝牙串口给stc单片机下载程序了。
测试过程,左上为电源5V+3.3V  左下为简易逻辑分析仪,从单片机端检测串口数据,另电脑端也有软件检测电脑端发送和接收的数据。右上为主角,蓝牙串口模块。
[attachment=1694266]
蓝牙模块特写,自己加的洞洞板,两个状态指示灯,以及几个引脚,短接右上两个引脚,进入AT模式,接受AT命令
[attachment=1694267]
[attachment=1694268]
正面
[attachment=1694270]
背面
[attachment=1694271]
限流电阻,单片机为5V,蓝牙是3.3V,串联限流电阻连接
[attachment=1694272]

ToStc软件也来个图,最新版进入我的博客查看
之前的帖子不能编辑了,里边不是最新版
[attachment=1694299]


lkj524293970 2012-06-10 16:01
赞助商链接

主意是不错的!!!但是成本应该不小!!

271788533 2012-06-10 16:26
赞助商链接

主意不错~成本多少?

Ω囿圉Ω 2012-06-10 16:36
有意思的作品

174505598 2012-06-10 16:57
几年前就试过了
有时候有点不稳定
没数据线来的放心哈

lrj0759 2012-06-10 17:22
楼主强人!!用USB转串口下载时经常会碰到电脑蓝屏,不知道这个会不会出现这种情况呢?

tlptotop 2012-06-10 17:35
我这个软件,测试的不多。不过我用pl2303hx芯片的usb转串口,使用stcisp,在我的电脑上,最高只支持到4800的波特率,用ToStc可以使用115200. 。
另外经常蓝屏,蓝屏都是由于硬件错误而引起的,严格来说责任不在软件,比如软件在短时间发送大量数据,导致usb转串口芯片没有响应,出错,电脑蓝屏。那是usb转串口芯片的问题,它的异常处理什么的太差了。作为软件设计者,只能尽量避免让它短时间发送大量数据。想要根本解决这个问题,还是换好点的芯片,像ft232,简直和原生com口一样好用。
欢迎测试ToStc!

zystbbs 2012-06-10 20:23
终于看到希望了,好好学习

fang3 2012-06-11 01:03
支持全系列的STC吗,如11F,12C,还有不用晶振的15F

1591208937 2012-06-11 07:28
成本呢 很高吧

rgwan 2012-06-28 21:56
楼主能不能给我一份代码或者STC的时序啊
现在在Linux下载STC12C5A60S2就是问题。WINE时不时崩溃。准备用gambas重写一下。
另外就是我最就做了一个编程器,自己的架构哦~

whwhooo 2012-07-20 10:00
中彩了  信号线没串电阻  一个字节都没发送 直接烧了  30块钱啊  楼主哪买的20模块 求PM地址顺便求模块基板电路  信号线串的电阻多少欧姆

whwhooo 2012-07-20 10:03
中彩了  信号线没串电阻  一个字节都没发送 直接烧了  30¥啊  楼主哪买的20模块 求PM地.址顺便求模块基板电路  信号线串的电阻多少欧姆





[网络卡 此层楼重复 管理员路过帮忙处理下]

prophet000 2012-11-19 13:14
这个可以有哦,我还考虑用wifi传数模块也搞就个呢

kiss_baby 2014-08-07 19:49
使用两个蓝牙模块,可以实现上述下载么

meteor2003x 2014-08-09 19:08
lrj0759:楼主强人!!用USB转串口下载时经常会碰到电脑蓝屏,不知道这个会不会出现这种情况呢? (2012-06-10 17:22) 

是不是没关闭串口就断开硬件了呢?

lrj0759 2014-08-09 23:24
meteor2003x:是不是没关闭串口就断开硬件了呢? (2014-08-09 19:08) 

有时候是硬件插的好好的没有动也会莫明其妙的蓝屏,这个不关是否关闭串口的事吧

coolstar 2014-08-10 11:45
没有串电阻应该没事,电阻是防止STC不能复位的吧,电源没接错怎么接都没事的

whwhooo 2014-11-19 20:28
coolstar:没有串电阻应该没事,电阻是防止STC不能复位的吧,电源没接错怎么接都没事的 (2014-08-10 11:45) 

蓝牙模块是3V的。单片机是5V。不加电阻会烧串口。我串了个4K电阻
基板上一般是个662K三端3v降压ic电路 可用1117 3.3代替 与led指示灯(这么久了都没收到楼主pm信息)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多