找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3190|回复: 0
打印 上一主题 下一主题
收起左侧

STM8S-Discovery串口测试程序

[复制链接]
跳转到指定楼层
楼主
ID:75926 发表于 2015-4-2 23:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

//串口配置
//数据位:8
//停止位:1
//校验位: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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表