前言:
考虑到在使用STC8板子在下载程序时,拖着跟线,不好调试,特别是调试小车类的项目时。空闲时间时,就想到在网上曾经看到过,可应用蓝牙远程复位烧录,就想着实验一下。不过从标题就能看出来,结果是不复合预想的。以下是一些过程。可能也是我学艺不精,导致失败了,也有可能。
材料:
硬件:两块HC-05蓝牙模块,一块STC8A8K64D4开发板。
软件:偶校验串口通信(因为网上有些说法是远程通信时,无校验的话,数据可能会错误)
过程:
图片上标有注释了。
主机是通过STC-ISP+TTL串口+蓝牙模块,发送。
从机是在STC8的开发板上的,接收。
原图直接被覆盖了,只能放注释后的了。
可以看到在STC-ISP的框中,最终下载是失败的。
串口:
这里是STC8A使用到偶校验,串口的接收代码。
//串口1中断事件 分配寄存器组1
void UartIsr() interrupt 4 using 1
{
u8 Data;
if (TI)
{
TI = 0;
CK_busy = 0;
}
if (RI)
{
//P55=0;
RI = 0;
//偶数
Data=SBUF;
//指令下载
if((Data==0x7f)&&(RB8==1))
{
if(cnt7f>=4) P55=0;
if(++cnt7f==8)
{
IAP_CONTR = 0x60; //软件复位
}
}
else
{
cnt7f=0;
}
//ACC = Data;
CK_buffer[CK_rjs++] = SBUF;
CK_rjs&=0x0f; //满16归0
}
}