打印
[STM8]

STN8串口输出问题

[复制链接]
1727|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2013-7-29 17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "stm8s.h"
#include "stm8s_uart2.h"
#include "stm8s_gpio.h"
#include "stm8s_clk.h"
#include "stdio.h"

void Delay(u16 time)
{
  while(time != 0)
  {
    time--;
  }
}
//初始化串口   波特率115200,8位数据位 1位停止位,无奇偶校验
//查询发送,中断方式接收。
void UART_Init(void)
{
    UART2_DeInit();
    UART2->BRR2 = 0X01; //设置波特率为9600
    UART2->BRR1 = 0X34;
    UART2->CR2 = 0X2C;  //设置串口中断,允许接收发送
   // UART2_Cmd(ENABLE);
}


void Init_CLK(void)
{

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);//设置主频为内部高速时钟,8MHz
}

void UART2_SendChar(unsigned char dat)
{
  while((UART2->SR & 0X80) == 0X00);
  UART2->DR = dat;
}

void main(void)
{
  Init_CLK();
  enableInterrupts();
  UART_Init();
  while(1);
}        

#pragma vector=0x14
__interrupt void UART2_RX_IRQHandler(void)
{
   UART2_SendChar(0x02);
}                  
各位 朋友,,这是我的UART2的程序,用的是硬件仿真,STM8S105,每次在线仿真都不能把0x02输出来,什么情况啊?求帮助,先谢谢大家了。
沙发
拿起书本| | 2014-4-15 15:29 | 只看该作者
根据楼主的描述,这个应该是中断并没有进去。

使用特权

评论回复
板凳
huangfeng33|  楼主 | 2014-4-15 15:31 | 只看该作者
谢谢楼上的朋友了,已经解决了 ,串口中断用错了。STM8S中断2,但是翻译过来写的中断1,把中断地址改为2的地址就Ok了 。结贴。

使用特权

评论回复
地板
拿起书本| | 2014-4-15 15:32 | 只看该作者
看来翻译的文档还是很坑人的

我一般都是看英文的,不太信任翻译的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝