📄 board.h
字号:
#ifndef __BOARD_h
#define __BOARD_h
#define FOSC 8000000
#define BAUD 9600
#define UBRRN (FOSC/(16*BAUD)-1)
#define BAUD_TEST 3//9600
//Enable or Disable Rx and Tx interrupt
#define EN_RX() SETBIT(UCSR0B,RXEN0)
#define DIS_RX() CLRBIT(UCSR0B,RXEN0)
#define EN_RX_INT() SETBIT(UCSR0B,RXCIE0)
#define DIS_RX_INT() CLRBIT(UCSR0B,RXCIE0)
#define EN_TX_INT() SETBIT(UCSR0B,UDRIE0)
#define DIS_TX_INT() CLRBIT(UCSR0B,UDRIE0)
#define TXEN_OUT SETBIT(DDRC,PC0)
#define TXEN_SET_H SETBIT(PORTC,PC0)
#define TXEN_SET_L CLRBIT(PORTC,PC0)
#define RXEN_OUT SETBIT(DDRC,PC1)
#define RXEN_SET_H SETBIT(PORTC,PC1)
#define RXEN_SET_L CLRBIT(PORTC,PC1)
#define BEEP_INIT() SETBIT(DDRD,PD5)
#define BEEP_ON() SETBIT(PORTD,PD5)//beep
#define BEEP_OFF() CLRBIT(PORTD,PD5)//beep
#define S2_STATUS CHKBIT(PIND,PD4)//KEY
#define KEY_STATUS S2_STATUS
#define S3_0_STATUS CHKBIT(PINB,PB5)//WORK MODE
#define WORK_MODE S3_0_STATUS
#define S3_1_STATUS CHKBIT(PINB,PB4)//CS
#define CS_SELECT S3_1_STATUS
#define S3_2_STATUS CHKBIT(PINB,PB3)//channel
#define S3_3_STATUS CHKBIT(PINB,PB2)
#define S3_4_STATUS CHKBIT(PINB,PB1)
#define S3_5_STATUS CHKBIT(PINB,PB0)//baud
#define S3_6_STATUS CHKBIT(PIND,PD7)
#define S3_7_STATUS CHKBIT(PIND,PD6)
#define BAUD_SET (~((S3_2_STATUS>>1)|\
(S3_3_STATUS>>1)|\
(S3_4_STATUS>>1))&0x07)
#define CHAN_SET_DEMO (~((S3_5_STATUS<<2)|\
(S3_6_STATUS>>6)|\
(S3_7_STATUS>>6))&0x07)
#define CHAN_SET_TEST (~(S3_1_STATUS<<2|\
(S3_2_STATUS<<2)|\
(S3_3_STATUS<<2)|\
(S3_4_STATUS<<2)|\
(S3_5_STATUS<<2)|\
(S3_6_STATUS>>6)|\
(S3_7_STATUS>>6))&0x7F)
#if 0
S3_0_STATUS 0x0020
S3_1_STATUS 0x0010
S3_2_STATUS 0x0008
S3_3_STATUS 0x0004
S3_4_STATUS 0x0002
S3_5_STATUS 0x0001
S3_6_STATUS 0x0080
S3_7_STATUS 0x0040
S3_STATUS 0x00FF
#endif
#define S3_STATUS (S3_0_STATUS>>5)|\
(S3_1_STATUS>>3)|\
(S3_2_STATUS>>1)|\
(S3_3_STATUS<<1)|\
(S3_4_STATUS<<3)|\
(S3_5_STATUS<<5)|\
(S3_6_STATUS>>1)|\
(S3_7_STATUS<<1)
//#if WORK_MODE==WORK_DEMO
//#endif
//#if WORK_MODE==WORK_TEST
//#endif
#define MAX_RF_BUFF 64
#define MAX_UT_BUFF 64
#define MAX_DATA_NUM 60
#define MAX_DATA_TEST 48
typedef struct S_SYS_SETTINGS {
INT8U tcnt0_val; //超时
INT8U ubrr0l_val;//波特率
INT8U ubrr0h_val;//....
INT8U mdcfg4_val;//CC1100频率
INT8U mdcfg3_val;//....
INT8U deviatn; //DEVIATN
INT16U baud;
} SYS_SETTINGS;
//x=100H-(Time*8000/1024)
#define T_T0_1MS 0xF9//1MS
#define T_T0_2MS 0xF1//2MS
#define T_T0_3MS 0xE9//3MS
#define T_T0_4MS 0xE1//4MS
#define T_T0_5MS 0xD9//5MS
#define T_T0_6MS 0xD2//6MS
#define T_T0_7MS 0xCA//7MS
#define T_T0_8MS 0xC2//8MS
#define T_T0_9MS 0xBA//9MS
#define T_T0_10MS 0xB2//10MS
#define T_T0_11MS 0xAB//11MS
#define T_T0_12MS 0xA3//12MS
#define T_T0_13MS 0x9B//13MS
#define T_T0_14MS 0x93//14MS
#define T_T0_15MS 0x8B//15MS
#define T_T0_16MS 0x83//16MS
#define T_T0_17MS 0x7C//17MS
#define T_T0_18MS 0x74//18MS
extern INT8U RFSend_Start;
extern INT8U CC1100IntHFlg;
extern INT8U CC1100IntLFlg;
extern INT8U CC1100CfgReg[38];
extern INT8U Test_RFTx_Buf[MAX_DATA_TEST];
extern INT8U UartReceive_Buf[MAX_UT_BUFF]; //射频发送(串口接收)缓存
extern INT8U RFReceive_Buf[MAX_RF_BUFF]; //射频接收(串口发送)缓存
extern INT8U RFSendCnt; //射频发送计数器,记录要发送的字节个数
extern INT8U RFReceiveCnt; //串口发送计数器
extern INT8U RFReceiveLen; //串口发送字节长度
extern INT8U RFSendFlg; //当串口接收完一包数据,置该标志
extern INT8U RFReceiveFlg; //当射频接收完一包数据,置该标志
extern INT8U RFState; //保存射频状态,共两种状态:发送、接收
extern INT8U RXOTFlg; //串口接收数据超时标志
extern INT8U RXOTCnt; //串口接收数据超时计数器
extern INT8U Beep_Flag;
extern INT16U Beep_Time;
/*
************************************************************
*Description:初始化CC1100
*Arguments :none
*Returns :none
*Notes :
************************************************************
*/
extern void CC1100Init(void);
/*
************************************************************
*Description:处理CC1100中断函数,每中断一次调用一次该函数
*Arguments :none
*Returns :none
*Notes :
************************************************************
*/
extern void RF_ReceivePacket(void);
/*
************************************************************
*Description:射频发送函数,当串口接收完一包数据且射频处于
* 接收状态时,调用该函数
*Arguments :none
*Returns :none
*Notes :
************************************************************
*/
extern void RF_SendPacket(INT8U *txBuffer, INT8U size);
/*
************************************************************
*Description:射频接收完一包数据处理函数,准备把数据发送到串口
*Arguments :none
*Returns :none
*Notes :
************************************************************
*/
extern void Uart_SendPacket(void);
extern INT8U Key_Scan(void);
/*
************************************************************
*Description:初始化系统各种参数,配置寄存器
*Arguments :none
*Returns :none
*Notes :
************************************************************
*/
extern void InitSys(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -