串口问题,高手指点

本帖最后由 06082314 于 2010-1-8 10:56 编辑

我突然发现我用USART1向pc机的串口发数据无论怎样都是乱码
用豆皮的历程不好用,然后
我这样最简单的实验过:
主函数中
  //配置系统时钟
  RCC_Configuration();
  //配置  NVIC 和 Vector Table
  NVIC_Configuration();
  UART1_GPIO_Configuration();
  UART1_Configuration();
  while (1)
  {
     USART_SendData(USART1, 0x23);
}
然后在RAM中调试,用串口调试助手收数据,一直是乱码,请高手指点
有可能是什么问题呢?
暖风

检查一下串口速率 还有 晶振频率
一点一滴,积沙成山

TOP

2# trinove
晶振频率是8MHz,波特率我依次试了一遍,还是不行啊
暖风

TOP

  1. while (1)
  2.   {
  3.      USART_SendData(USART1, 0x23);
  4. }
复制代码
晕,你不检查发送数据寄存器空标志位就持续发送数据,不乱码才怪,改成下面的试试:
  1. while (1)
  2.   {
  3.      USART_SendData(USART1, 0x23);
  4.      while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)  {}
  5. }
复制代码

TOP

Review opelc.org on alexa.com