📄 wave.c
字号:
#include "DF1404.h"
static void SPI_MasterTransmit(U8 cData)
{
SPDR = cData;
while (!(SPSR & (1 << SPIF)));
}
void SignalInit(void)
{
ClrL9834();
NOP();
SPI_MasterTransmit (0x00);
NOP();
SetL9834();
ClrL9834();
NOP();
SPI_MasterTransmit (0x00);
NOP();
SetL9834();
ClrL9834();
NOP();
SPI_MasterTransmit (0x00);
NOP();
SetL9834();
Delay_nus(0xff);
ClrL9834();
NOP();
SPI_MasterTransmit (0x00);
NOP();
SetL9834();
Delay_nus(0xff);
//Write Control Register
ClrL9834();
NOP();
SPI_MasterTransmit (0x00);
NOP();
SetL9834();
}
void Sinusoidal(void)
{
ClrL9834();
NOP();
SPI_MasterTransmit (0x20);
SPI_MasterTransmit (0x00);
NOP();
SetL9834();
}
void Triangle(void)
{
ClrL9834 ();
NOP();
SPI_MasterTransmit (0x20); //OPBITEN = 0 , MODEBIT = 1
SPI_MasterTransmit (0x02);
NOP();
SetL9834();
}
void WriteFreq(F32 Freq)
{
U32 k;
F32 Temp;
U8 cData;
Temp = Freq;
k = (U32)Temp;
cData = ( ( (U8*)&k )[1] & 0x4F );
ClrL9834();
SPI_MasterTransmit (cData);
cData = ((U8*)&k)[0];
SPI_MasterTransmit (cData);
SetL9834();
k = k << 3;
cData = (((U8*)&k)[3] & 0x4F);
ClrL9834();
SPI_MasterTransmit (cData);
cData = ( (U8*)&k )[3];
SPI_MasterTransmit (cData);
SetL9834();
}
void ChangeWave(void)
{
if (CurrentState.Wave == SINWAVE)
{
Sinusoidal();
Relay &= ~( 1 << RELAYWAVE);
UpDataRelay();
DispMark[0] &= ~(1 << SquaLed);
DispMark[1] &= ~(1 << TriaLed);
DispMark[2] |= ( 1 << SinLed);
UpDataCH451();
}
else if (CurrentState.Wave == SQUAWAVE)
{
Sinusoidal();
Relay |= ( 1 << RELAYWAVE );
UpDataRelay();
DispMark[2] &= ~(1 << SinLed);
DispMark[1] &= ~(1 << TriaLed);
DispMark[0] |= ( 1 << SquaLed);
UpDataCH451();
}
else
{
Triangle();
Relay &= ~( 1 << RELAYWAVE );
UpDataRelay();
DispMark[2] &= ~(1 << SinLed);
DispMark[1] |= (1 << TriaLed);
DispMark[0] &= ~(1 << SquaLed);
UpDataCH451();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -