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

📄 cc1000_m8.c

📁 CC1000的应用与MEGA8,无线双工通信.
💻 C
字号:
#include <mega8.h> 
#include <init_M8.h>
#include "delay.h"
#include "cc1000.h"
#include "rf1000.h"

unsigned char Registration_table[13] = {0x12,0x34,0x56,0x78,0x00,0x00,0x00,0x00,'A',0x00,0x00,0x00};
unsigned char cc1000_table[13] = {0x12,0x34,0x56,0x78,0x00,0x00,0x00,0x00,'B',0x00,0x00,0x00};   
unsigned char cc1000_SetTime_show[13]={0x12,0x34,0x56,0x78,0x00,0x44,0x55,0x55,'C',0x00,10,14,0x00};
unsigned char Registration_Return_table[13] = {0x00,0x44,0x55,0x55,0x12,0x34,0x56,0x78,'a',0x00,0x00,0x00};
const unsigned char get_cc1000_table[13] = {0x87,0x65,0x43,0x21,0x12,0x34,0x56,0x78,'b',0x00,0x00,0x00}; 
unsigned char Self_ID[4]={0x00,0x44,0x55,0x55};
//unsigned char compare[] =  {0};
unsigned char  string[18] = {0};
unsigned char search_counter = 0 ;
unsigned char long_key_counter = 0; 
unsigned char key_flag = 0;
unsigned char old_key = 0x03;
unsigned char get_key = 0;    
//unsigned char Registe_flag = 0;
unsigned char b=0,c=0;     
unsigned char long_counter =0;
unsigned char old_long_key =0x03;
unsigned char temp_key =0;
unsigned char get_long_key =0;
unsigned char lock_key=0;   
unsigned char temp_long_key=0x03; 
//unsigned char hour,min,sec; 

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
  
   DDRD &=0xFC;
   get_key = PIND&0x03;
       
    if((get_key!=0x03)&&(lock_key==0)) 
     {
      //sprintf(&cc1000_table[9],"%x",get_key);
      cc1000_table[4]=Self_ID[0];
      cc1000_table[5]=Self_ID[1];
      cc1000_table[6]=Self_ID[2];
      cc1000_table[7]=Self_ID[3];
      cc1000_table[9]=get_key;
      cc1000_table[10]=16;
      cc1000_table[11]=c++;
      key_flag = SendOnePacketToCC1000(cc1000_table);
     }

}

// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Place your code here
   TCNT1H = 0xFE; //setup
   TCNT1L = 0x18;
   Registrion();  
}

// Declare your global variables here
void main(void)
{
// Declare your local variables here
 unsigned char i = 0,j = 0; 
 
  init_m8();
while (1)
      {
      // Place your code here
       #asm("WDR")  
        while(key_flag==0) ;
             key_flag = 0;
             bell(1);
           while(string!=ReceiveOnePacketFromCC1000(string,0)); 
             bell(1);
             delay_ms(500);
             if(string[8] == Registration_Return_table[8])
              {
                for(i=0;i<4;i++)
                 {
                  if(string[i] != Registration_Return_table[i])
                  break;
                 } 
                  if(i==4)
                    {
                     for(i=0;i<4;i++)
                     cc1000_table[i]=string[4+i];
                     bell(1);
                    }
              }
             else if(string[8] == 'C') 
                   {
                      delay_ms(200);
                      key_flag =  SendOnePacketToCC1000(cc1000_table);
                   }
                delay_ms(300);
      };
}

⌨️ 快捷键说明

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