⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 nrf905无线收发模块利用模拟spi通信的程序 经此程序可转成串口通信
💻 C
字号:
#include <iom128v.h>
#include <iom128.h>
#include <macros.h>
#include "NRF905.C"
#include "zlg7290_avr.c"
#define KEY1  READ_PC3
#define KEY2  READ_PC1
#define KEY3  READ_PC2
#define KEY4  READ_PC0

#define  uchar unsigned char
#define  uint  unsigned int

uchar TxBuf[28]={0};
uchar RxBuf[28]={0};
uchar tf=0;

void main()
{
  uint i;
  uchar KeyValue;
  uint led1_count=0,led2_count=0,led3_count=0,led4_count=0;
  DDRA=0XFF;
  PORTA=0XFF;
  DDRC&=~(BIT(0)|BIT(2)|BIT(1)|BIT(3));
  PORTC=0XFF;
 // SystemInit();
 // ClearAll();
  nRF905Init();
  Config905();				// Config nRF905 module
  TxBuf[0] = 1;
  TxBuf[1] = 1;
  SetTxMode();		// Set Tx Mode
  TxPacket(TxBuf);				// Transmit Tx buffer data
  Delay(1000);				// delay for led light	
  PORTA=0X0C;
  TxBuf[0] = 0xff;
  TxBuf[1] = 0xff;

  SetRxMode();	// Set nRF905 in Rx mode
  while(1)
  {
   /* if ( FlagINT )		//如果有键按下
		{
		//清除中断标志
			FlagINT = 0;
		//读取键值、连击计数器值、功能键值
			ZLG7290_ReadReg(ZLG7290_Key,&KeyValue);
			DispValue(0,KeyValue);
		}*/
    if(KEY4 ==0 ) 
	{ 
	 TxBuf[0] = 0x11;
	 for(i = 0; i<15; i++) 
       {
         SetTxMode();			// Set Tx Mode
	     TxPacket(TxBuf);		// Transmit Tx buffer data
       }
       SetRxMode();		
	 }		// 
    if(KEY3 ==0 )
	 {
	 TxBuf[0] = 0xaa ;
	 for(i = 0; i<15; i++) 
       {
         SetTxMode();			// Set Tx Mode
	     TxPacket(TxBuf);		// Transmit Tx buffer data
       }
       SetRxMode();		
	 }	//
	if(KEY2 ==0  ) 
    { 
	   TxBuf[0] = 0x66 ;
    //   TxBuf[1] = 0x06 ;
       for(i = 0; i<15; i++) 
       {
         SetTxMode();			// Set Tx Mode
	     TxPacket(TxBuf);		// Transmit Tx buffer data
       }
       SetRxMode();			// Set nRF905 in Rx mode
    } 
    if(KEY1 ==0  ) 
    {
       TxBuf[0] = 0x33 ;
     //  TxBuf[1] = 0x08 ;
       for(i = 0; i<15; i++) 
       {
         SetTxMode();			// Set Tx Mode
	     TxPacket(TxBuf);		// Transmit Tx buffer data
       }
       SetRxMode();			// Set nRF905 in Rx mode
    }
 /*   if(tf==1)
	{	
	  SetTxMode();			// Set Tx Mode
	  TxPacket(TxBuf);		// Transmit Tx buffer data
	  TxBuf[0] = 0xff;
	  TxBuf[1] = 0xff;
	  SetRxMode();			// Set nRF905 in Rx mode
	  tf=0;
    }     
	if(led1_count>0)	
    {	
	  led1_count--;
	  PORTA=BIT(0);
      Delay(160);
	}
    else PORTA&=~BIT(0);
    if(led2_count>0)
    {
	  led2_count--;
	  PORTA=BIT(1);
      Delay(160);
    }
    else PORTA&=~BIT(1); */
    if (RxPacket(RxBuf) == 1)	//返回1 表明有数据包接收到
    {
	  PORTA=RxBuf[0];
	  Delay(3200);
    }
  }
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -