本帖最后由 phiyun9824054 于 2020-7-17 16:35 编辑
因有个项目要用到Bootloader,今天有辛拜读了TsaiRH的贴子 https://bbs.21ic.com/icview-2942354-1-1.html,
并依他的贴子的方法做了一份PIC18F47K40,但很遗憾没能成功, Compiler: XC8 2.05 ; MPLAB: MPLAB X 5.35 用unifiedhost-1.16.2 连接PC与PIC串口,在console没有任何的信息. 希有有朋友可以帮忙指导,谢谢!
在烧录后仿针时,发现程序死在自动波特率配置上:
// *****************************************************************************
// Hardware AutoBaud
// *****************************************************************************
BAUDCONbits.ABDEN = 1; // start auto baud
while (BAUDCONbits.ABDEN == 1)
{
for(x=0;x<0xfff0;x++);
if (BAUDCONbits.ABDOVF == 1)
{
BAUDCONbits.ABDEN = 0; // abort auto baud
BAUDCONbits.ABDOVF = 0; // start auto baud
BAUDCONbits.ABDEN = 1; // restart auto baud
}
}
因此我用其他串口工具向MCU发送0x55 ,程序跑出来了,因为我把上面程序改为
// *****************************************************************************
// Hardware AutoBaud
// *****************************************************************************
BAUDCONbits.ABDEN = 1; // start auto baud
while (BAUDCONbits.ABDEN == 1)
{
IO_RD5_LAT =!IO_RD5_LAT ;
for(x=0;x<0xfff0;x++);
if (BAUDCONbits.ABDOVF == 1)
{
BAUDCONbits.ABDEN = 0; // abort auto baud
BAUDCONbits.ABDOVF = 0; // start auto baud
BAUDCONbits.ABDEN = 1; // restart auto baud
}
}
EUSART1_Write(0x41);
EUSART1_Write(0x41);
index = EUSART1_Read(); // required to clear RCIF
在串口中可以收到AA 说明串口应该是通了。
但是用UnifiedHost-1.16.2.jar,就是检测不到串口,尽管我给他配置了正常的串口设置;
后面就不知怎么办,有知道的可以帮忙指导吗? 万分感谢!
|