找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM8 UART程序

[复制链接]
跳转到指定楼层
楼主
ID:85681 发表于 2015-7-15 01:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.硬件连接    IC STM8S105K4T6   引脚 IO-31 PIN PD6/UART2_RX   IO-30PIN   PD5/UART2_TX
2. 库文件调用  #include "stm8s.h"   #include "stm8s_uart2.h"
3 串口参数配置初始化


void UART2_Configuration(void)
{
  /*高速时钟*/
  //CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
  /* 寄存器恢复初始值 */  
  UART2_DeInit();
  /* 初始化串口2(波特率115200,数据8位,1个停止符,没有校验,禁用同步,允许收发)*/
   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();
}


发送数据

/* 发送8位数据*/
UART2_SendData8(0x64);
  /* 等待发送完成标志 */
  while (UART2_GetFlagStatus(UART2_FLAG_TXE) == RESET);

接收 ,可以在主函数中接收,也可以在串口中断中接收数据。。
INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21)
{
   
                disableInterrupts();
                if(UART2_GetITStatus(UART2_IT_RXNE)!= RESET)
                                {
                                   RXData=UART2_ReceiveData8();
                                }
    enableInterrupts();
}





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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