main.c

来自「SPI通讯 学习之用 FreeScale」· C语言 代码 · 共 126 行

C
126
字号
#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 + =
减小字号Ctrl + -
显示快捷键?