找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3734|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM8S-Discovery串口測(cè)試程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:75926 發(fā)表于 2015-4-2 23:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

#include
<iostm8s105c6.h>
#include
<stdio.h>

#define BAUD_RATE     9600         //波特率
#define F_CPU         16000000     //CPU頻率

//串口配置
//數(shù)據(jù)位:8
//停止位:1
//校驗(yàn)位:None
void UART_Init(void)
{
    UART2_CR2_TEN
= 1;
    UART2_CR2_REN
= 1;
    UART2_CR2_RIEN
= 1;
    UART2_BRR2
= ((unsigned char)((F_CPU / BAUD_RATE) & 0x0f)) + (((unsigned char)((F_CPU / BAUD_RATE) >> 8)) & 0xf0);
    UART2_BRR1
= ((unsigned char)((F_CPU / BAUD_RATE) >> 4));
}

void UART_TxByte(unsigned char _data)
{
   
while (UART2_SR_TXE == 0);
    UART2_DR
= _data;
}

int putchar(int c)
{
    UART_TxByte(c);
   
return c;
}

int main(void)
{  
    CLK_SWCR_SWEN
= 1;
    CLK_SWR
= 0xB4;    //HSE selected as master clock source
   
    UART_Init();
    printf(
"********** STM8S-Discovery UART Test *********\r\n");
    printf(
"Build: %s  %s\r\n", __DATE__, __TIME__);
   
    asm(
"rim");
   
   
while (1)
    {
    }
}

#pragma vector = UART2_R_RXNE_vector
__interrupt
void UART2_IRQHandler(void)
{
   
if (UART2_SR_RXNE == 1)
    {
        UART_TxByte(UART2_DR);
    }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表