📄 cc1000_m8.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 + -