注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

耳朵的博客

做自己想做的人

 
 
 

日志

 
 

STM8S-Discovery第二个程序-UART  

2010-09-10 15:25:46|  分类: STM8 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

更清晰地代码见:

http://www.cnblogs.com/chenlidong/articles/1823352.html

 

/********** STM8S-Discovery UART Test *********
* 版本.........: 1.0
* 作者.........: 陈利栋
* 目标.........: STM8S105C6T6
* 文件名.......: main.c
* 开发环境.....: IAR for STM8 V1.1
* 创建时间.....: 2010.09.09
* 最后修改.....: 2010.09.10
**********************************************/

#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);
 }
}

 

IAR工程下载:

 http://www.rayfile.com/zh-cn/files/83f1682b-bcad-11df-a92e-0015c55db73d/

  评论这张
 
阅读(2052)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018