📄 main.c
字号:
#include <hidef.h> /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */
#define nop asm NOP;
/************************************************
定义常量
*************************************************/
#define SCI_BufSize 5
#define DEF_TOTALPOINT 4
/************************************************
定义I/O引脚
*************************************************/
#define ComLed PTAD_PTAD0
#define P_H PTCD_PTCD3
#define P_L PTCD_PTCD4
#define P_M PTCD_PTCD5
#define B_433 PTED_PTED1
#define B_868 PTED_PTED2
#define B_915 PTED_PTED3
#define FSK PTED_PTED0
#define nSEL PTED_PTED4
/************************************************
定义全局变量
*************************************************/
union Bbyte
{
byte Byte;
struct {
byte Bit0 :1; // Data Direction for Byte Bit 0
byte Bit1 :1; // Data Direction for Byte Bit 1
byte Bit2 :1; // Data Direction for Byte Bit 2
byte Bit3 :1; // Data Direction for Byte Bit 3
byte Bit4 :1; // Data Direction for Byte Bit 4
byte Bit5 :1; // Data Direction for Byte Bit 5
byte Bit6 :1; // Data Direction for Byte Bit 6
byte Bit7 :1; // Data Direction for Byte Bit 7
} Bits;
};
#pragma DATA_SEG MY_ZEROPAGE
union Bbyte near _BitFlag1;
#define BitFlag1 _BitFlag1.Byte
uchar near Var_TempBuffer;
#pragma DATA_SEG DEFAULT_RAM
/************************************************
函数声明
*************************************************/
void MCU_init(void); /* Device initialization function declaration */
void Software_init(void);
/************************************************
程序代码
*************************************************/
/************************************************
延时函数 基准总线频率8MHz
*************************************************/
void Delay_100us(void) //延时100微秒
{
uchar i;
for (i=0;i<58;i++)
{
nop;
}
}
void Delay_MS(uchar t) //延时毫秒级
{
uint i;
__RESET_WATCHDOG();
for(i=0;i<t*10;i++)
{
Delay_100us();
}
}
void Software_init(void)
{
}
void Init_RFM02(void)
{
}
void SPISendByte(uchar data)
{
while(SPI1S_SPTEF != 1); /*等待发送寄存器空*/
SPI1D = data;
Delay_100us();
}
void SPIReceiveByte(void)
{
while(SPI1S_SPRF != 1); /*等待接收缓冲器有数据*/
Var_TempBuffer = SPI1D;
}
void main(void)
{
MCU_init();
Software_init();
Init_RFM02();
for(;;)
{
__RESET_WATCHDOG();
if(TPM1SC_TOF) //500ms定时
{
TPM1SC_TOF = 0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -