OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4638|回复: 3

原子哥 STM +无线模块-------------51+无线模块 STM32用的USART2接收的 为什么收不到数据

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-5-9
在线时间
0 小时
发表于 2013-5-9 22:24:28 | 显示全部楼层 |阅读模式
            
void USART2_IRQHandler(void)
{  unsigned char msg[20];
   OS_CPU_SR  cpu_sr;
   OS_ENTER_CRITICAL();  //保存全局中断标志,关总中断 Tell uC/OS-II that we are starting an ISR
   OSIntNesting++;
   OS_EXIT_CRITICAL();   //恢复全局中断标志 
  if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)    //判断读寄存器是否非空
  { 
   
    msg[RxCount++] = USART_ReceiveData(USART2);           //将读寄存器的数据缓存到接收缓冲区里
 //USART_SendData(USART2,USART_ReceiveData(USART2));
 if(msg[0] != 0xaa)
 {
  RxCount=0;//判断是否为同步头 
 } 
 if(RxCount>3) //整体字节超过3个字节
     /*判断结束标志是否为0x02,0x27*/    
 {
  if(msg[RxCount-2] == 0x02&&msg[RxCount-1] == 0x27 )
  {
   msg[RxCount]=0;
   RxCount=0;
   OSMboxPost(USART2_MBOX,(void *)&msg); 
  }
 }
  }
  if(USART_GetITStatus(USART2, USART_IT_TXE) != RESET)      //这段是为了避免STM32 USART 第一个字节发不出去的BUG
  {
     USART_ITConfig(USART2, USART_IT_TXE, DISABLE);   //禁止发缓冲器空中断,
  }
  OSIntExit();           //在os_core.c文件里定义,如果有更高优先级的任务就绪了,则执行一次任务切换   
}


static  void Task_USART2(void *p_arg){   
   INT8U err;
   unsigned char  *msg;
   (void)p_arg;  
   while(1)
   {  
  msg=(unsigned char *)OSMboxPend(USART2_MBOX,0,&err);     //等待USART2成功接收一帧的邮箱信息
 
  /* 将接收到的报文保存在显示缓存区里用于显示 */ 
  if(msg[1] == 0x75)  
  {
    memcpy(rx_buf, msg+8, 1);
    memcpy(tx_buf, msg+9, 1);
   }      
   }
}
 
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-10 00:14:58 | 显示全部楼层
回复【楼主位】wempor:
---------------------------------
请用JTAG仿真调试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-5-9
在线时间
0 小时
 楼主| 发表于 2013-5-10 10:14:14 | 显示全部楼层
我用的JTAG把程序下载进去了  可是 没有反应  无线是好的 无线发来的数据时16进制的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-10 10:30:17 | 显示全部楼层
回复【3楼】wempor:
---------------------------------
是用JTAG仿真,不是下载。
你跟踪代码运行,看看是哪里没达到预期效果,这样才能分析问题啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-21 11:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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