本帖最后由 unkao 于 2017-4-16 16:49 编辑
用库带的UART_InitPrint初始化了UART1,没有开中断,串口接了ISO3082转485口,仿真的时候电脑串口下发一个数据,CPU正常接收并回传上位机,但是程序下载到板子后,电脑下发一个数据,CPU正常接收并回传正确,但是后面会一直循环发送数据0,把485转串口线拔掉后正常,在插上还是会发送0,重启后正常。 while(1)
{
UART1_RXEN;
u8Ch = UART_GetChar(TERM_PORT);
UART1_TXEN;
for(i=0;i<0xfffff;i++);for(i=0;i<0xfffff;i++);for(i=0;i<0xfffff;i++);for(i=0;i<0xfffff;i++);
printf("kkk value:0x%x\n",(unsigned int)u8Ch);
UART_WaitTxComplete(TERM_PORT);
}
void UART_InitPrint(void)
{
UART_ConfigType sConfig;
sConfig.u32SysClkHz = BUS_CLK_HZ;
sConfig.u32Baudrate = UART_PRINT_BITRATE;
UART_Init (TERM_PORT, &sConfig);
}
|