您现在的位置: 爱51代码网 >> 范文 >> 文章正文
STM32串口RX不断接收数据,大多数为00

运行串口大师,设置完成后,RX不断接收数据,大多数为00.也有其他的。且速度越来越快,请问是什么原因?而自己发的数据很难看到。求解,等一晚上。如需其他代码也可一并贴上。

附中断函数代码
void USART1_IRQHandler(void)      //串口1 中断服务程序,收到的字符回显到终端上
{
  unsigned int i;
 // GPIO_SetBits(GPIOC, GPIO_Pin_1);//点亮Led1测试是否进入中断
 // GPIO_ResetBits(GPIOC, GPIO_Pin_1);
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)    //判断读寄存器是否非空
  {
    /* Read one byte from the receive data register */
    RxBuffer1[RxCounter1++] = USART_ReceiveData(USART1);   //将读寄存器的数据缓存到接收缓冲区里
 
    if(RxBuffer1[RxCounter1-2]==0x0d)     //判断结束标志是否是0x0d
    {
  for(i=0; i< RxCounter1; i++)
  TxBuffer1[i] = RxBuffer1[i];       //将接收缓冲器的数据转到发送缓冲区,准备转发
  rec_f=1;                                              //接收成功标志
  Rec_Len=RxCounter1;
  RxCounter1=0;
//  for(i=0; i<Rec_Len; i++)
//  USART_SendData(USART1,TxBuffer1[i]+2);
//  while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); //USART_FLAG_TC发送完成标志位
    }
  }
 
  if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)                     // USART_IT_TXE,发送中断
  {
     USART_ITConfig(USART1, USART_IT_TXE, DISABLE);  //USART_ITConfig()使能或失能USART中断
  }
  if(USART_GetITStatus(USART1, USART_IT_TC) != RESET)                     //发送完成状态
  {
     tx_flag=1;
  }
} 只要你把GPIO配置与板子一致,一般地,用ST的库是能正常工作的。

嗨,我现在搞它的USB,搞得头都大了 中断服务子函数中不要用 for循环,用if 通过多次进入中断处理。  还有发送中断要选择 发送寄存器空模式 或者 发送完中断模式  二选一 而不是两个都写,注意,进入中断后,软件清除中断标志位。

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    TClientDataSet如何避免多人更新
    如何用delphi代码修改XML节点
    vc++ pvoid *用delphi怎么表达
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    单片机控制3个LED灯渐亮渐灭
    WINCE5.0里移植网卡驱动到6.
    YUV422,显示要转成RGB565
    STC单片机做RS232多机通信运
    modbus模拟器寄存器读取错误
    BUILD: corrupt database (D
    WinCE 7自带IE浏览器网页显示
    Directsound如何控制声卡左右
    如何将opencv2.0完整移植到W
    编译./arm_qt4.5_build不成功
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |