|
1.硬件連接 IC STM8S105K4T6 引腳 IO-31 PIN PD6/UART2_RX IO-30PIN PD5/UART2_TX
2. 庫(kù)文件調(diào)用 #include "stm8s.h" #include "stm8s_uart2.h"
3 串口參數(shù)配置初始化
void UART2_Configuration(void)
{
/*高速時(shí)鐘*/
//CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
/* 寄存器恢復(fù)初始值 */
UART2_DeInit();
/* 初始化串口2(波特率115200,數(shù)據(jù)8位,1個(gè)停止符,沒有校驗(yàn),禁用同步,允許收發(fā))*/
UART2_Init((uint32_t)115200, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO,
UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
/*開啟UART2_IT_RXNE_OR中斷 */
UART2_ITConfig(UART2_IT_RXNE_OR, ENABLE);
/*開啟UART2_IT_TXE中斷 */
//UART2_ITConfig(UART2_IT_TXE, ENABLE);
/* 打開 UART */
UART2_Cmd(ENABLE);
/* 打開中斷 */
//enableInterrupts();
}
發(fā)送數(shù)據(jù)
/* 發(fā)送8位數(shù)據(jù)*/
UART2_SendData8(0x64);
/* 等待發(fā)送完成標(biāo)志 */
while (UART2_GetFlagStatus(UART2_FLAG_TXE) == RESET);
接收 ,可以在主函數(shù)中接收,也可以在串口中斷中接收數(shù)據(jù)。。
INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21)
{
disableInterrupts();
if(UART2_GetITStatus(UART2_IT_RXNE)!= RESET)
{
RXData=UART2_ReceiveData8();
}
enableInterrupts();
}
|
|