📄 mainsend.c
字号:
#include "global.h"
#include "cc1020.h"
#include "msp430x14x.h"
//**************
#define TIMES 32768
char send_cb_buf [36];
char cross_buf[36];
char BchLeng;
int temp,i;
//int *p=&temp;
char rx_cb_buf[36];
char rx_cb_length;
char rx_buf[36];
char rx_length;
char BCnt;
char ByCnt;
char aBitCnt;
char Bank[6][32];
//*****************
int BUFFER;
char SPI_TX_OK,SPI_RX_OK;
char TX_BUF[36] = {0x55,0xD3,0x91};
char RX_BUF[32];
char BUFF_FULL,BYTE_CNT,BIT_CNT,RF_DIR,RF_OK,PACKAGE_LEN,TIME_FLAG;
const char FREQ[16][6] = {0x39,0xFA,0xB8,0x39,0xF0,0x0D,
0x3A,0x01,0xAA,0x39,0xF6,0xFF,
0x3A,0x08,0x9B,0x39,0xFD,0xF1,
0x3A,0x0F,0x8D,0x3A,0x04,0xE3,
0x3A,0x16,0x7F,0x3A,0x0B,0xD4,
0x3A,0x1D,0x71,0x3A,0x12,0xC6,
0x3A,0x24,0x63,0x3A,0x19,0xB8,
0x3A,0x2B,0x54,0x3A,0x20,0xAA,
0x3A,0x32,0x46,0x3A,0x27,0x9B,
0x3A,0x39,0x38,0x3A,0x2E,0x8D,
0x3A,0x40,0x2A,0x3A,0x35,0x7F,
0x3A,0x47,0x1B,0x3A,0x3C,0x71,
0x3A,0x4E,0x0D,0x3A,0x43,0x63,
0x3A,0x54,0xFF,0x3A,0x4A,0x54,
0x3A,0x5B,0xF1,0x3A,0x51,0x46,
0x3A,0x62,0xE3,0x3A,0x58,0x38
};
//**************
const char ch[12]={0x55,0xD3,0x91,0x08,0x01,0x02,
0x03,0x03,0x05,0x06,0x07,0x08
};
char ch_bch[]={0x55,0xD3,0x91,0x08,0x01,0x02,
0x03,0x03,0x05
};
void Init_TimerB(void)
{
TBCTL=TBSSEL_1+TBCLR+MC_0; //选择时钟源ACLK, 清除TAR,增计数方式
// TBCCTL0=CCIE; //允许定时器中断
}
//**************
void main()
{
int freq_num = 0;
char buff[32] = {0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF};
//char buff[32] = {0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00};
WDTCTL = WDTPW + WDTHOLD; // stop watch dog
clk_init();
timea_init(5120);// 512 大概
//88888
Init_TimerB();
TBCCR0=TIMES; //设置定时时间TimerB
TBCTL |= MC_1 +TBCLR;
//8888 // 打开定时器
spi_init();
_EINT();
reset_cc1020();
cc1020_init();
delay(100);
if(verify_cc1020())
{
return;
}
cali_pll();
port_init();
////////////////////////////////
set_freq(5);
cc1020_tx();
while(1)
{
//时间中断,每16毫秒跳一次频
if(TIME_FLAG)
{
TIME_FLAG = 0;
if(BUFF_FULL == 0)
{
/* TBCTL |= MC_2 +TBCLR;
TBCTL&=~CNTL1;
for(i=0;i<16;i++)
{
if(*(Bank[BCnt]+ByCnt) & (0x01>>(7-aBitCnt)))
{
temp&=0x8000; // ouput "1"
}
ByCnt+=4;
if(ByCnt>31)
{
ByCnt=0;
aBitCnt++;
if(aBitCnt==8)
{
aBitCnt=0;
if(ByCnt==35)
{
ByCnt=0;
BCnt++;
}
else
ByCnt-=31;
}
}
temp=temp<<1;
}
}
TBCTL &=~MC_2;
*/
BchLeng=bch_to_send(buff,32,send_cb_buf);
cross16(send_cb_buf,BchLeng,cross_buf);
pakging(BchLeng, send_cb_buf);
}
}
}
}
void delay(int times)
{
int i;
for(i=0;i<times;i++)
{
asm(" nop");
asm(" nop");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -