今天,我成功地将RN4871从砖块状态恢复到正常功能,因此我想我应该总结一些沿途观察到的细节。多亏了traversjames您对PICtail手册第43页的建议。首先,我的RN4871的状况完全没有反应。(我猜是开发过程的危害。)即使用RX_IND小心地引导,并且通过PIC使BT_RST变高,我还是用一个范围验证了RN4871中的串行TX管脚上绝对没有活动,更不用说完整的“%REBOOT%”消息了。它已经死了。我以前把波特率改为2400波特,几天来它一直工作在那个波特率下。通过阅读其他人在这里发表的文章,我总结出使用更新工具的关键引脚是P2_0(RN4871上的引脚16)。在
电源被施加之前,这个引脚必须被拉低,或者至少在让RN861退出复位之前,因为它只在当时被采样。所以我用剪辑引线做了。更新工具还必须控制串行线、RX和TX。在我的应用
电路中,RX和TX直接转到我的PIC上的TX和RX。为了避免从两个源同时驱动一条线,我在PIC程序中有一个规定,当我用板上的某个跳线来启动时,将把RX和TX置于被动(输入)模式。这使我可以直接与终端
通信RN48 71。如果你还没有做过一个,我强烈建议建立一个专用的接口电路,在DB-9标准RS-232连接器和四个微剪辑引线标记GND,VCC,TX,RX之间转换。我使用逻辑电平FET进行必要的RX和TX的反相和电平移位,以及一个9伏的电池,以产生足够用于计算机上大多数RS-232端口的电压。有一个VCC线进入这个盒子让它与5伏和3伏电路工作。我几乎在每个涉及串行端口的项目中使用我的。我从Microchip下载了RN487x固件更新工具-IsUpdate.zip和RN487x固件v1.18.3-4月14.zip。我将两个包解压缩到同一个文件夹中。第一个包只包含ISUPDATE.EXE应用程序。另一个包包含BT5505_BLEDK3_RELEASE_SHADOW.H00、BT5505_BLEDK3_RELEASE_SHADOW.H01、BT5505_BLEDK3_RELEASE_SHADOW.H02、BT5505_BLEDK3_RELEASE_SHADOW.H03以及PDF发行说明文件。当我运行ISUpDATE.EXE时,访问端口的选择之一是COM3,这是这个串行端口。波特率设定为115200,这引起了我的一些关注,因为我已经改变了我的RN48 71的波特率。但是看起来,当在更新模式(P2_0拉低)中,RN4871总是转到115200,而不管在应用程序模式中设置了什么,所以这是一件好事。按照PICTHOW手册第43页的说明,我将内存类型/子类型改为“Flash”和“嵌入式闪存”。没有其他需要改变的。然后我启动了我的应用电路,确保:1。跳投告诉PIC“被动”已经到位。2。2P0 0被拉低,3。我的接口电路的RX、TX、Vcc、GND抽头都连接好了。然后我点击“连接”。与RN4871的连接成功了,更新工具中的其他按钮不再是灰色的。我点击上面的“浏览”按钮,并选择所有四个.快车道。(我不知道这是否有必要。也许更新工具会自己找到它们。)我点击“更新”,然后看着显示的内容被填满,正如PICtail手册所示。只用了不到半分钟。它以“写内存结束”结束。然后,我点击断开连接并关闭应用电路。然后我删除P2_0跳线,在我的PC上运行一个终端程序,并启动应用电路。%ReBOOT %出现在115200波特,并响应“$$ $”和命令是意料之中的。显然更新固件也会重置应用程序波特率设置,就这样。一切都恢复了工作,就像RN48 71被砖砌之前一样。