📄 spi.h
字号:
#ifndef _SPI1EX_
#define _SPI1EX_
#include <iom16v.h>
#include <macros.h>
#define PU 0x01
#define STOP 0x02
#define RESET 0x03
#define CLI_INT 0x04
#define RD_STATUS 0x05
#define RD_PLAY_PTR 0x06
#define PD 0x07
#define RD_REC_PTR 0x08
#define RD_DEVID 0x09
#define G_ERASE 0x43
#define RD_APC 0x44
#define WR_APC1 0x45
#define WR_APC2 0x65
#define WR_NVCFG 0x46
#define CHK_MEM 0x49
#define SET_PLAY 0x80
#define SET_REC 0x81
#define SET_ERASE 0x82
#define HIGH 1
#define LOW 0
/*
#define RIGHT 1
#define ERROR 0
//#define SET_BIT(x,y) (x|=(1<<y)) //x的y位置1
//#define CLR_BIT(x,y) (x&=~(1<<y)) //清x的y位
//#define GET_BIT(x,y) (x&(1<<y)) //读x的y位
/*-----------------------------------------------------------------------
//SR0_L 0 1 2 3 4 5 6 7
// CMD_Err FULL PU EOM INT A0 A1 A2
//SR0_H 8 9 10 11 12 13 14 15
// A3 A4 A5 A6 A7 A8 A9 A10
//SR1 0 1 2 3 4 5 6 7
// RDY ERASE PLAY REC SE1 SE2 SE3 SE4
//APC 0 1 2 3 4 5 6 7
// VOL0 VOL1 VOL2 MON_IN MIX_IN SE_EDIT SPI_FT AUD/AUX(AUD线路输出,AUX直接驱动喇叭)
//APC 8 9 10 11
// PWM_SPK PU_AO VALERT EOM_EN(在SETPLAY模式下,置1遇到EOM则结束,否则继续播放)
----------------------------------------------------------------------------*/
/*
sbit INT_1700 = SR0_L^4;
sbit EOM = SR0_L^3;
sbit PU_1700 = SR0_L^2;
sbit FULL = SR0_L^1;
sbit CMD_ERR = SR0_L^0;
sbit REC_1700 = SR1^3;
sbit PLAY_1700 = SR1^2;
sbit ERASE_1700 = SR1^1;
sbit RDY = SR1^0;
*/
sbit SS = PB4;
sbit SCLK = PB7;
sbit MOSI = PB5;
sbit MISO = PB7;
extern void I_delay(void);
extern void delay_ms(register uint Count);
extern void DogReset(void) reentrant;
/**************************************************************************
* 函数原型: void GetToneAdd(uchar cNum, Uint * ipStartAdd, Uint * ipEndAdd);
* 功 能: 取出当前语音的首末地址
**************************************************************************/
void GetToneAdd(uchar cNum, uint * ipStartAdd, uint * ipEndAdd);
/**************************************************************************
* 函数原型: void ISD_Init(void);
* 功 能: 初始化
**************************************************************************/
void ISD_Init(void);
/**************************************************************************
* 函数原型: void ISD_PU(void);
* 功 能: 上电
**************************************************************************/
void ISD_CHK_MEM(void);
/**************************************************************************
* 函数原型: void ISD_Up(void);
* 功 能: 上电
**************************************************************************/
void ISD_PU(void);
/**************************************************************************
* 函数原型: void ISD_Stop(void);
* 功 能: 停止
**************************************************************************/
void ISD_Stop(void);
/**************************************************************************
* 函数原型: void ISD_Reset(void);
* 功 能: 复位
**************************************************************************/
void ISD_Reset(void);
/**************************************************************************
* 函数原型: void ISD_PD(void);
* 功 能: 掉电
**************************************************************************/
void ISD_PD(void);
/**************************************************************************
* 函数原型: void ISD_SendData(uchar BUF_ISD);
* 功 能: 发送数据
**************************************************************************/
uchar ISD_SendData(uchar BUF_ISD);
/**************************************************************************
* 函数原型: void RdStatus(void);
* 功 能: 读取状态
**************************************************************************/
void RdStatus(void);
/**************************************************************************
* 函数原型: void RdStatus(void);
* 功 能: 读取ID
**************************************************************************/
uchar RD_DevID(void);
/**************************************************************************
* 函数原型: void RD_APC(void);
* 功 能: 读取APC
**************************************************************************/
void RdAPC(void);
/**************************************************************************
* 函数原型: void ClrInt(void);
* 功 能: 清除中断
**************************************************************************/
void ClrInt(void);
/**************************************************************************
* 函数原型: void ISD_WR_APC2(uchar voiceValue);
* 功 能: WR_APC2
**************************************************************************/
void ISD_WR_APC2(uchar voiceValue);
/**************************************************************************
* 函数原型: void ISD_WR_NVCFG(void);
* 功 能: 永久写入寄存器
**************************************************************************/
void ISD_WR_NVCFG(void);
/**************************************************************************
* 函数原型: void SetPLAY(uchar cNum);
* 功 能: 定点播放
**************************************************************************/
void SetPLAY(uchar cNum);
/**************************************************************************
* 函数原型: void SetREC(uchar cNum);
* 功 能: 定点录音
**************************************************************************/
void SetREC(uchar cNum);
/**************************************************************************
* 函数原型: void SetERASE(uchar cNum);
* 功 能: 定点删除
**************************************************************************/
/*
void SetERASE(uchar cNum);
/**************************************************************************
* 函数原型: void Erase_All(void);
* 功 能: 全部删除
**************************************************************************/
void Erase_All(void);
/**************************************************************************
* END
* END
**************************************************************************/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -