專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

STM8 串口功能使用簡介

作者:huqin   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時間:2014年05月01日   【字體:

    說實(shí)話STM8確實(shí)用起來比較方便,雖然網(wǎng)上的資料不多,但是在各大論壇都可以找到自己想要的東西,下面說說我在使用時遇到的問題和應(yīng)該注意的事項(xiàng),,

 
  我在使用是用的是庫函數(shù)。
 
1:先配置端口:
 
GPIO_Init(LEDS_PORT, ( TX ),  GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(LEDS_PORT, ( RX ) , GPIO_MODE_IN_PU_NO_IT );
 
 
 
注意:在開始的時后程序?qū)懲旰笠恢背霈F(xiàn)接收不到數(shù)據(jù),在網(wǎng)上問了許多人,然后才發(fā)先原來是沒有把,接收端口配置成接收狀態(tài),也有人說不用配置,直接用就接收到數(shù)據(jù),但是我的實(shí)在實(shí)現(xiàn)不了。
 
 
 
2:函數(shù)初始化:
 
 
void Uart_Init(void)
{
    //UART1_DeInit();
    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 );
 
}
 
注意:這個初始化的函數(shù)應(yīng)在時鐘函數(shù)初始化之后,因?yàn)閁art_Init():在調(diào)用時使用了關(guān)于時鐘的一些參數(shù),因?yàn)槲覀兘?jīng)常會在工程中切換函數(shù),這樣會對發(fā)送和接收數(shù)據(jù)造成影響。。
 
3 :接收 ,我么可以在主函數(shù)中接收,也可以在串口中斷中接收數(shù)據(jù)。。
 
@far @interrupt void UART_RI (void)
 
{
disableInterrupts();
if(UART1_GetITStatus(UART1_IT_RXNE )!= RESET) 
    {
Res =UART1_ReceiveData8()-0x30;
 
}
 
 
//UART1_SendByte( keycounter);
UART1_SendByte(1);
UART1_SendByte(2);
UART1_SendByte(3);
UART1_SendByte(4);
//data_Analysis_1(); 
 
 
enableInterrupts();
}
 
 這是我在使用時遇到的一些問題
關(guān)閉窗口

相關(guān)文章