STM8 485发送数据在串口助手中显示全是00 一次发送4个字节,助手收到一个字节并显示00
请问是哪里出了问题呢,是硬件问题还是代码问题?
//IO PB5 接485的DIO PB6接485的DIN PA2接485模块的DE和RE
GPIO_Init(RS_485_PORT, RS_485_PIN, GPIO_MODE_OUT_PP_LOW_SLOW);
void UART1_485_Init(void)
{
UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);
UART1_Cmd(ENABLE);
}
void UART1_485_Send_Byte(u8 byte)
{
UART1_SendData8(byte);//发送8位数据
while(UART1_SR_TC==0);//待发送完成
//while( UART1_GetFlagStatus(UART1_FLAG_TC)!=RESET);
}
void UART1_485_Send_Str(void)
{
u8 i=0;
RS_485_DIR_H;
Delay_ms(2);
for(i=0;i<4;i++)
{
UART1_485_Send_Byte(0x61+i);
}
Delay_ms(2);
RS_485_DIR_L;
}
}