📄 main.c
字号:
#define _MAIN_C_
#include"cc2500.h"
#include"cw6695.h"
#include"main.h"
#include"cc2500int.h"
#undef _MAIN_C_
struct EventAttemper {
void (*Function)(void);
unsigned char Time;
};
/******************************************************************
. Event Attemper Inition Here
******************************************************************/
void TiminSend(void);
void WeitingSYNCSend(void);
struct EventAttemper code OS[EVENTLENGTH]={{TiminSend,112},{WeitingSYNCSend,0x81}};
void IntInit(void)
{
TMOD=0x01;//Timer 0 audio AD/DA interrupt 16 bit relaod 125us
AUXR=0x00;//Timer 0 is devoded 12 FRQ
TL0=0xA8;//FRQ = 33 mHz
TH0=0xFE;
//------------ Extern Int 1 Init ------------
IT1=1;//following edge
IE1=0;//
//------------ Start All Interrupt ----------
IE=0x86;
TR0=1;
}
/***************************************
Inition STC 5410 SPI
SPI IO Define :
p1.7 ----------- Out put
p1.6 ----------- in put
p1.5 ----------- out put
P1M0 = 40H
P1M1 = A0H
more define see the STC 2051 PDF (P.30)
SPICTL Register :
SPR0 , SPR1 == 00 high speed clock
CPHA = 1 clock data model
CPOL = 1 clock idle state
MSTR = 1 mast or slave model selsect
DORD = 0 MSB or LSB
SPEN = 1 enable SPI
SSIG = 1 register select mast or slave
SPISTAT Register :
SPIF = 1 Clear flag when received data or data send out seted
WCOL = 1 clear flag it been seted when wtite again in transmiting
***************************************/
void SPI_init(void)
{
P1M0=0x40;
P1M1=0x00;
SPICTL=0xDC;
SPISTAT=0xC0;
}
/****************************************************
Attemper Time Inition
*****************************************************/
void AttemperTimeInit(void)
{
unsigned char i;
for(i=0;i<EVENTLENGTH;i++){
EventTime[i]=OS[i].Time;
}
}
/*****************************************************************
. Every 14ms Send Once ADPCM == 56 byte + 5 byte message
******************************************************************/
void TiminSend(void)
{
// p3_1=0;
// PCMTransmitSend-=56;// Every time send from the Last 56 bytes
bTransmitReceive=1;
CC_Cmd_Write(TI_CCxx_STX);// Transmit Active
CC_FIFO_Single_Write(TransmitCommandID);//write 1 byte
CC_FIFO_Burst_Write();//write 61 byte
TransmitCommandID++;
}
/***********************************************************
. weit 1ms no SYNC Word send once again
***********************************************************/
void WeitingSYNCSend(void)
{
// p3_1=0;
// PCMTransmitSend-=56;
// CC_FIFO_Single_Write(TransmitCommandID-1);//write 1 byte
// CC_FIFO_Burst_Write();//write 61 byte
// CC_Cmd_Write(TI_CCxx_STX);// Transmit Active
// bTransmitReceive=1;
}
/**********************************************************
***********************************************************/
void main(void)
{
unsigned char i;
// AUXR=0;
SPI_init();
AttemperTimeInit();
InitCW6695();
TI_CCxx_Reset();
TI_CC_RegInit();
IntInit();
// SPKPower=0;
while(1){
for(i=0;i<EVENTLENGTH;i++){
if(!EventTime[i]){// Event time coming
EventTime[i]=OS[i].Time;
OS[i].Function();
}// if(!EventTime[i])
}// for
}// while(1)
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -