?? spi0.c
字號:
#include "config.h"
/*********************************************************************************************************/
/********************************************************************************************************
** 函數(shù)名稱:MSPI_SendData()
** 函數(shù)功能:向SPI總線發(fā)送數(shù)據(jù)。
** 入口參數(shù):data 待發(fā)送的數(shù)據(jù)
** 出口參數(shù):返回值為讀取的數(shù)據(jù)
********************************************************************************************************/
uint8 Hc595Dat;
void MSPI_SendData(uint8 data)
{
uint8 i;
//DisTm0;
//DisTm1;
//DisI2C0;
//DisUart1;
// 片選74HC595
for (i=8;i>0;i--)
{
IO1CLR = HC595_CS;IO1CLR = HC595_CS;IO1CLR = HC595_CS;
if ((data&0x80)==0x80)
{
IO0SET = HC595_DAT;IO0SET = HC595_DAT;IO0SET = HC595_DAT;
IO0SET = HC595_DAT;IO0SET = HC595_DAT;IO0SET = HC595_DAT;
}
else
{
IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;
IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;IO0CLR = HC595_DAT;
}
IO0CLR =HC595_CLK;IO0CLR =HC595_CLK;IO0CLR =HC595_CLK;
IO0SET =HC595_CLK;IO0SET =HC595_CLK;IO0SET =HC595_CLK;
data<<=1;
}
// SPI_SPDR = data;
// while( 0 == (SPI_SPSR & 0x80)); // 等待SPIF置位,即等待數(shù)據(jù)發(fā)送完畢
IO1SET = HC595_CS;IO1SET = HC595_CS;IO1SET = HC595_CS;
//EnTm0;
//EnTm1;
//EnI2C0;
//EnUart1;
// return(SPI_SPDR);
}
void SetAmp(uint8 dat)
{
uint8 Amp;
switch (dat) //1 :1m ;2:10m ;3 :1km
{
case 1:
Hc595Dat = (Hc595Dat);
Amp=1;//放大倍數(shù)最小
break;
case 2:
Hc595Dat = (Hc595Dat&0xfe);
Amp=1<<1;
break;
case 3:
Hc595Dat = (Hc595Dat&0xfc);
Amp=1<<2;
break;
default :
Hc595Dat = (Hc595Dat&0xf8);
Amp=0;
break;
}
Hc595Dat = (Hc595Dat)|(Amp);
Hc595Dat=Hc595Dat | 0x40; //關AD的CS
MSPI_SendData(Hc595Dat);
}
void Cs7705(uint8 dat)
{
if(dat==1)
{
Hc595Dat=Hc595Dat | 0x40;
//Hc595Dat=Hc595Dat|0x20;
}
else
{
Hc595Dat=Hc595Dat & 0xbf;
//Hc595Dat=Hc595Dat|0x20;
}
MSPI_SendData(Hc595Dat);
}
void Set5628Ld(uint8 LD)
{
if(LD==1)
{
Hc595Dat=Hc595Dat|0x20;
Hc595Dat=Hc595Dat | 0x40;//關AD的CS
//IO1SET=DA_CLK;
}
else
{
Hc595Dat=Hc595Dat&0xdf;
Hc595Dat=Hc595Dat | 0x40;//關AD的CS
}
MSPI_SendData(Hc595Dat);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -