我的一个串口接到了STM8S207CBT6的PD5 PD6的UART3口线上,请问该串口可以作为普通UART3使用不能?我按串口初始化无论收发都不能正常工作,请使用过此串口的大侠解惑,谢谢;串口1完全可以正常收发;
相关代码如下:PD5-TXD PD6-RXD
1.初始化引脚配置
//通信UART3
GPIO_Init(GPIOD, GPIO_PIN_5,GPIO_MODE_OUT_PP_LOW_FAST); //TX
GPIO_Init(GPIOD, GPIO_PIN_6,GPIO_MODE_IN_PU_NO_IT); //RX
2.UART3初始化
void Uart3_Init(void)
{
UART3_DeInit();
UART3_Init(115200,UART3_WORDLENGTH_8D,UART3_STOPBITS_1,UART3_PARITY_NO,UART3_MODE_TXRX_ENABLE);//115200,8,1,0 读写使能
UART3_ITConfig(UART3_IT_RXNE_OR, ENABLE);
UART3_Cmd(ENABLE);
enableInterrupts();
}
3.main函数对初始化函数引入
4.发送代码如下:
void Send3_Data(u8 *buf1,u8 len1)
{
u8 t1;
for(t1=0;t1<len1;t1++) //循环发送数据
{
while(UART3_GetFlagStatus(UART3_FLAG_TXE) == RESET);
UART3_SendData8(buf1[t1]);
}
while(UART3_GetFlagStatus(UART3_FLAG_TXE) == RESET);
}
以上代码全部植入之后,无法进行发送,发送代码:
Send3_Data(DATA,8);
看资料该串口:LIN Universal Asynchronous Receiver Transmitter (UART3)
所以,疑惑中,请解惑;谢谢; |