📄 mc33993.h
字号:
//10100 SP5端口
//10101 SP6端口
//10110 SP7端口
}
/////////////////////////////////////////////////////////////
//定义: void Calibration_33993(void) ;
//描述: 对MC33993进行时钟校准
//参量:
//返回值:
/////////////////////////////////////////////////////////////
void Calibration_33993(void)
{
void RD33993(unsigned char data1, unsigned char data2,unsigned char data3);
RD33993(0x0b,0x00,0x00);
//寄存器名:时钟校准寄存器
//寄存器位:23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
//位定义: 0 0 0 0 1 0 1 1 X X X X X X X X X X X X X X X X
//赋值: 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
//说明:使用该寄存器使能时钟校准(16-23为地址位,该地址为时钟校准寄存器地址。
// 0-15为任意位,可加入0或1任意值不影响使用。
}
/////////////////////////////////////////////////////////////
//定义: void Sleep_33993(void) ;
//描述: 对MC33993进行休眠操作
//参量:
//返回值:
/////////////////////////////////////////////////////////////
void Sleep_33993(void)
{
void RD33993(unsigned char data1, unsigned char data2,unsigned char data3);
RD33993(0x0c,0x00,0x38);
//寄存器名:使能休眠寄存器
//寄存器位:23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
//位定义: 0 0 0 0 1 1 0 0 X X X X X X X X X X 1 1 1 0 0 0
//赋值: 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0
//说明:使用该寄存器使能芯片休眠(16-23为地址位,该地址为使能休眠寄存器地址。
// 6-15为任意位,可加入0或1任意值不影响使用。0-5为中断唤醒时间设置,下有详细说明
//位定义: 5 4 3 中断唤醒时间
// 0 0 0 32 ms
// 0 0 1 64 ms
// 0 1 0 128 ms
// 0 1 1 256 ms
// 1 0 0 512 ms
// 1 0 1 1.024 s
// 1 1 0 2.048 s
// 1 1 1 4.096 s
}
/////////////////////////////////////////////////////////////
//定义: void RST_33993(void) ;
//描述: 对MC33993进行复位操作
//参量:
//返回值:
/////////////////////////////////////////////////////////////
void RST_33993(void)
{
void RD33993(unsigned char data1, unsigned char data2,unsigned char data3);
RD33993(0x7f,0x00,0x00);
//寄存器名:复位寄存器
//寄存器位:23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
//位定义: 0 1 1 1 1 1 1 1 X X X X X X X X X X X X X X X X
//赋值: 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
//说明:使用该寄存器使能复位(16-23为地址位,该地址为复位寄存器地址。
// 0-15为任意位,可加入0或1任意值不影响使用。
}
//**********************M33993spi功能函数**********************
////////////////////////////////////////////////////////////
//定义: usnigned char RD33993(unsigned char CommandWord);
//描述: 对MC33993进行读写操作
//参量: unsigned int CommandWord:要写入的命令字
//返回值: 读出的返回状态值
////////////////////////////////////////////////////////////
void RD33993(unsigned char data1, unsigned char data2,unsigned char data3)
{
MC33993_CS=0; //片选信号
SPDR = data1; // 发送第一字节
while((SPSCR&0x80)==0); // 等待接收寄存器满
SP_status.Byte = SPDR; // 读取 状态
SPDR = data2; // 发送第二字节
while((SPSCR&0x80)==0); // 等待接收寄存器满
SGH_status.Byte = SPDR; // 读取 状态
SPDR = data3; // 发送第三字节
while((SPSCR&0x80)==0); // 等待接收寄存器满
SGL_status.Byte = SPDR; // 读取 状态
SP_status.Byte=SP_status.Byte<<2;
SP_status.Bit.BIT0=SGH_status.Bit.BIT6;
SP_status.Bit.BIT1=SGH_status.Bit.BIT7;
SGH_status.Bit.BIT6=0;
SGH_status.Bit.BIT7=0;
//SP_status: SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0
//SGH_status: NC NC SG13 SG12 SG11 SG10 SG9 SG8
//SGL_status: SG7 SG6 SG5 SG4 SG3 SG2 SG1 SG0
MC33993_CS=1; //片选信号
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -