CH32V307开启IWDG时出问题,下载和调试会出现连接中断的问题。必须插拨下载连接线才能恢复串口通讯。
疑似下载时IWDG超时引发。
void IWDG_entry(void *parameter)
{
printf("IWDG dog init\r\n");
IWDG_Feed_Init( IWDG_Prescaler_32, 4000 ); // 3.2s IWDG reset
while(1)
{
// printf("Feed dog\r\n");
IWDG_ReloadCounter(); //Feed dog
rt_thread_mdelay(1000);
}
}
void thread_IWDG(void)
{
/* 创建线程 1,名称是 thread1,入口是 thread1_entry*/
iwdg = rt_thread_create("IWDG",
IWDG_entry, RT_NULL,
512,//线程栈大小
10, //优先级优先级0-32,0最高
1);//时间片
/* 如果获得线程控制块,启动这个线程 */
if (iwdg != RT_NULL)
rt_thread_startup(iwdg);
}
MSH_CMD_EXPORT(thread_IWDG, RT - Thread IWDG driver);