Кроме того, SPP в целом поддерживает отправку или получение управляющих сигналов (DTR, DSR, RTS, CTS). Я не знаю ни API, ни библиотеки для Android, но вы просто хотите сбросить настройки контроллера. ..
Если это ок. чтобы изменить прошивку, вы также можете создать собственную команду сброса, которую можно получить на вашем UART (через SPP).
Если вы получите эту команду, вы можете вызвать что-то вроде
asm("jmp 0x3800");
, где вы должны изменить jmp
-адрес, чтобы он указывал на ваш загрузчик.
Вы также можете изменить вектор прерывания так, чтобы он указывал на ваш загрузчик.
Или включите сторожевой таймер и позвоните
while(1);
Это также автоматически изменит вектор прерывания на вектор прерывания загрузчика и сбросит все SFR. - Но это немного медленнее, и вектор прерывания загрузчика должен быть выбран в блоках предохранителей.