打印
[STM8]

串口收到奇怪的数据

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

char  RxFlag = 0;
u8 RxBuffer[5];
u8 RxNum=0;


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 SendByte(uint8_t Dat)
{
  while((UART2->SR & 0x80) == 0x00);  //等待发送寄存器为空
  UART2->DR = Dat;
  //while (UART2_GetFlagStatus(UART2_FLAG_TXE) == RESET);
}*/
void main(void)
{
  u8 i;
  Init_CLK();
  UART_Init();
//  enableInterrupts();
  while(1)
  {

  }

}
//接收一个字符
/*uint8_t RecByte()
{
  uint8_t temp;
  temp =  UART2->DR;
  return temp;
}
*/



#pragma vector=0x17
__interrupt void UART2_RX_IRQHandler(void)
{
  //SendByte(RecByte());
}
这是我的程序,我都已经把串口关了,只要发送数据,串口助手上就会接到一些乱七八招的数据,    我发的0x11然后每1S自动发送,然后就看到接收区收到下面这些数据:        FF FF FF FD FD FF F9 FF FF FF FF 9F C6 19 11 FD F1 99 FF FE 19 1D 19 11 11 91 91 9F 9F DF FF 19 F9 FE FF F9 F9 99 11 11     

沙发
hawksabre| | 2013-6-5 18:42 | 只看该作者
不是很了解   楼主   帮你顶一个   看看别人的意见   顶一个

使用特权

评论回复
板凳
shaowei2072009|  楼主 | 2013-6-6 09:25 | 只看该作者
我给RxBuffer加了个长度就可以了,接收的就正常了哈。奇怪哦

使用特权

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

本版积分规则

23

主题

108

帖子

0

粉丝