⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi.c

📁 motorola jw32 usb 源码
💻 C
字号:
#include "MC68HC908JW32.h" /* include peripheral declarations */
#include "spi.h"

//#define GDO0_PIN    		PTA_PTA3    //input
#define GDO2_PIN    		PTA_PTA4    //input

#define  CC2500_MISO 	 	PTE_PTE6    // Master In / Slave Out (input)
#define  CC2500_MOSI        PTE_PTE5    // Master Out / Slave In (output)
#define  CC2500_SCK 	    PTE_PTE4    // Serial Clock (output)
#define  CC2500_NCS 		PTA_PTA5    // Slave Select (output to chip select)
	unsigned char ReturnData;
//-------------------------------------------------------------------
// SPI module Initialisation
//
// Description:
// Enable CPHA=1 and CPOL=1 master mode.
// Example:
// SPI_EN();
//-------------------------------------------------------------------
void SPI_Master_EN(void) {

    SPCR_SPMSTR=1;
    SPSCR=  0;//SPSCR_SPR0_MASK+
            //SPSCR_SPR1_MASK;
    SPCR_CPHA=0;
    SPCR_CPOL=0;
    SPCR_SPE=1;


	//SPSCR = 0x03;
	//SPCR  = 0x22;     // 1<<b_SPMSTR|1<<b_CPOL|1<<b_CPHA|1<<b_SPE;
}

//-------------------------------------------------------------------
// SPI Write byte-wise data
//-------------------------------------------------------------------
void SPIPut(byte Data) {
    unsigned char dum;
	while (!CheckBit(SPSCR, b_SPTE));		// SPTE=1?
	SPDR = Data;
	while (!CheckBit(SPSCR, b_SPTE));		// SPTE=1?
    while (!CheckBit(SPSCR, b_SPRF));		// SPRF=1?
	dum = SPDR;
	while (!CheckBit(SPSCR, b_SPTE));		// SPTE=1?
}

//-------------------------------------------------------------------
// SPI Read byte-wise data
//-------------------------------------------------------------------
byte SPIGet() {

	while (!CheckBit(SPSCR, b_SPTE));		// SPTE=1?
	SPDR = 0xFF;
    while (!CheckBit(SPSCR, b_SPTE));		// SPTE=1?
	while (!CheckBit(SPSCR, b_SPRF));		// SPRF=1?
	ReturnData = SPDR;
	while (!CheckBit(SPSCR, b_SPTE));		// SPTE=1?
	return ReturnData;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -