OpenEdv-开源电子网

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

课设问题,解决不了,急急急!!!

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
25
金钱
25
注册时间
2012-6-26
在线时间
0 小时
发表于 2012-6-26 08:28:53 | 显示全部楼层 |阅读模式

 麻烦各位高手帮我看看,为什么我将红外控制和无线通信整到一块去之后,无线通信就不好用了?
#include <stm32f10x_lib.h>
#include "sys.h"
#include "usart.h"  
#include "delay.h" 
#include "led.h"
#include "key.h"
#include "exti.h"
#include "wdg.h"
#include "timer.h"
#include "lcd.h"   
#include "rtc.h"
#include "wkup.h"
#include "adc.h"
#include "dma.h"
#include "24cxx.h"
#include "flash.h"
#include "touch.h"
#include "24l01.h"
#include "mmc_sd.h"
#include "remote.h"
u8 buf,tmp_buf[2];

u8 wuxian()
{
 // LCD_ShowString(60,150,"NRF24L01 TX_Mode");
 while(1)
{  while(NRF24L01_Check())//检测不到24L01
 {
  LCD_ShowString(60,130,"24L01 Check Failed!");
  delay_ms(500);
  LCD_ShowString(60,130,"Please Check!      ");
  delay_ms(500);
  LED0=!LED0;//DS0闪烁
 } 
  LCD_ShowString(60,130,"24L01 Ready!");

  TX_Mode();
 // mode=' ';//从空格键开始 
  while(1)
  {            
   if(NRF24L01_TxPacket(tmp_buf)==TX_OK)
   {
    tmp_buf[0]=buf;   
    tmp_buf[1]=0;//加入结束符    
   }
   else
   {              
     LCD_ShowString(60,170,"Send Failed ");
    LCD_Fill(0,188,240,218,WHITE);//清空上面的显示     
   };
   LED0=!LED0;
   delay_ms(1500);       
  }
  }
}

int main(void)

 u8 key;
 u8 t;
   Stm32_Clock_Init(9);//系统时钟设置
 delay_init(72);  //延时初始化
 uart_init(72,9600); //串口1初始化    
 LCD_Init();   //初始化液晶 
 LED_Init();         //LED初始化   
 Remote_Init();     //初始化红外接收
 NRF24L01_Init();    //初始化NRF24L01       
  OINT_COLOR=RED;//设置字体为红色   
 while(1)
 {  
  if(Remote_Rdy)
  {
   key=Remote_Process();
   switch(key)
   {
    
    case 104:        //
     LCD_ShowString(86,150, "1");
     buf='1'; // wuxian();//buf[1]=0;//printf("%d",buf[0]);printf("1输出\n"); 
     break;
    case 152:
     LCD_ShowString(86,150, "2");
     buf='2'; // wuxian();//buf[1]=0;//printf("%d",buf[0]);  printf("2输出\n");  
     break;    //
    case 176:
     LCD_ShowString(86,150, "3");
     buf='3'; // wuxian();//buf[1]=0;//printf("%d",buf[0]); printf("3输出\n"); 
     break;
    case 48:
     LCD_ShowString(86,150, "4");
     buf='4'; // wuxian();//buf[1]=0;//printf("%d",buf[0]);printf("4输出\n");    
     break;
    case 24:
     LCD_ShowString(86,150, "5");
     buf='5'; // wuxian();//buf[1]=0;//printf("%d",buf[0]); printf("5输出\n");
     break;
    case 122:
     LCD_ShowString(86,150, "6");
     buf='6'; // wuxian();//buf[1]=0;//printf("%d",buf[0]);  printf("6输出\n");
     break;
    case 16:
     LCD_ShowString(86,150, "7");
     buf='7'; // wuxian();//buf[1]=0;//printf("%d",buf[0]);    printf("7输出\n");
     break;
    case 56:
     LCD_ShowString(86,150, "8");
     buf='8'; // wuxian();//buf[0]=8;//printf("%d",buf[0]);printf("8输出\n"); 
     break;    
   }
   //printf("%d",buf);
   wuxian();
   Remote_Rdy=0;
 
  }
  else
   delay_ms(2);
  t++;
  if(t==200)
  {
   t=0;
   LED1=!LED1;
  }
 }
}


    

 

 


 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-26 09:10:58 | 显示全部楼层
把主函数的: Remote_Init();     //初始化红外接收
屏蔽掉,看看能否检测到NRF?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2196
金钱
2196
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-6-26 12:19:24 | 显示全部楼层
红外接收是不是用的中断的?
在用无线的时候把中断关掉试试
https://github.com/roxma
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 07:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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