




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Isd.h文件/*本函数为语音播放模块。用到函数名是PLAY_NUM(u8 i);其中i即为想要播放的那一段。注意:初始化时,要初始化两个函数:ISD1760_config();ISD_Init();另外,在函数PLAY_NUM(u8 i);里面,要根据具体录制修改i的值。用到的端口:PE0(接语音芯片4脚)PE1(接语音芯片5脚)PE2(接语音芯片6脚)PE3(接语音芯片7脚)*/#ifndef _ISD1760_H_#define _ISD1760_H_#include stm32f10x_gpio.hextern uint8_t SR0_L;extern uint8_t SR0_H; extern uint8_t SR1; extern uint8_t ID;extern uint8_t APCL;extern uint8_t APCH;#define RCC_GPIO_ISD1760 RCC_APB2Periph_GPIOE#define MISOGPIO_Pin_0/CPU (IN)#define MOSIGPIO_Pin_1/ISD1760(OUT)#define SCLKGPIO_Pin_2 #define nSSGPIO_Pin_3/语音管脚定义/?SS?,SCLK?,MOSI?#define SCLK_1GPIO_SetBits(GPIO_ISD1760, SCLK)#define SCLK_0GPIO_ResetBits(GPIO_ISD1760, SCLK)#define nSS_1GPIO_SetBits(GPIO_ISD1760, nSS)#define nSS_0GPIO_ResetBits(GPIO_ISD1760, nSS)#define MOSI_1GPIO_SetBits(GPIO_ISD1760, MOSI)#define MOSI_0GPIO_ResetBits(GPIO_ISD1760, MOSI)/?#define PU 0x01 /Power up ?#define STOP 0x02 /?#define RESET 0x03 /?#define CLI_INT 0x04 /?EOM?#define RD_STATUS 0x05 /?#define RD_PLAY_PTR 0x06 /?#define PD 0x07 /Power down ?#define RD_REC_PTR 0x08 /?#define DEVID 0x09 /?ID#define PLAY 0x40 /?#define REC 0x41 /?#define ERASE 0x42 /?#define G_ERASE 0x43 /?#define RD_APC 0x44 /?APC?;APC-?#define WR_APC1 0x45 /?APC1?,?VOL?#define WR_APC2 0x65 /?APC2?,?#define WR_NVCFG 0x46 /?APC?NVCFG;?#define LD_NVCFG 0x47 /?NVCFG?APC#define FWD 0x48 /?#define CHK_MEM 0x49 /?#define EXTCLK 0x4A /?#define SET_PLAY 0x80 /?,?EOM#define SET_REC 0x81 /?,?#define SET_ERASE 0x82 /?#define NOP _nop_() void delayus(void);/15us ?void Delay(uint16_t z );/?:?MS?,Z?MS? uint8_t SPISendData(uint8_t BUF_ISD);/?: SPI?(?)?void RdStatus(void);/?: ?void ClrInt(void);/?: ?void ISD_WR_NVCFG(void);/?: ?void ISD_WR_APC2(void);/?: ?APC2void RdAPC(void);/?: ?APCvoid ISD_Init(void);/?: ? void ISD_CHK_MEM(void);/?: ?void ISD_Reset(void);/?: ?void ISD_Stop(void);/?: ?void ISD_PU(void);/?: ?void ISD_PD(void);/?: ?uint8_t RD_DevID(void);/?: ?ID/void GetToneAdd(uint8_t cNum,uint16_t * ipStartAdd,uint16_t * ipEndAdd);/?: ?void ISD_PLAY(void);/?: ?void ISD_FWD(void);void SetREC(uint8_t cNum);/?: ?void Erase_All(void);/?: ?void ISD1760_config(void);void PLAY_NUM(u8 i);#endifIsd.c文件#include isd.h#include delay.h#define GPIO_ISD1760 GPIOE uint8_t SR0_L;uint8_t SR0_H; uint8_t SR1; uint8_t ID;uint8_t APCL;uint8_t APCH;void delayus(void) u8 i=2; while(i-);void Delay(uint16_t z)uint16_t x,y;for(x=z;x0;x-) /7usfor(y=185;y0;y-);uint8_t SPISendData(uint8_t BUF_ISD) uint8_t i;uint8_t dat = BUF_ISD;SCLK_1;nSS_0;for(i=0;i=1; if(GPIO_ReadInputDataBit(GPIO_ISD1760, MISO) dat|=0x80; SCLK_1; /?delayus(); MOSI_0;/ nSS=1; return(dat); void RdStatus(void) nSS_0;SPISendData(RD_STATUS);SPISendData(0x00); SPISendData(0x00); nSS_1; Delay(10); /?10msnSS_0; SR0_L =SPISendData(RD_STATUS); SR0_H =SPISendData(0x00); SR1 =SPISendData(0x00); nSS_1; Delay(10); void ClrInt(void) nSS_0;SPISendData(CLI_INT);/?EOM? SPISendData(0x00); nSS_1;Delay(10); void ISD_WR_NVCFG(void) nSS_0;SPISendData(WR_NVCFG);/?APC?NVCFG;? SPISendData(0x00); nSS_1; Delay(10); void ISD_WR_APC2(void) nSS_0;SPISendData(WR_APC2);/?APC2?,? SPISendData(0x70); /0xa8?,0xaf?,0xa0? SPISendData(0x0c);/0c /D11=1,?SETPLAY?,?EOM?SET_PLAY?,?EOM? nSS_1; Delay(10); ISD_WR_NVCFG(); /? void RdAPC(void) nSS_0;SPISendData(RD_APC);/?APC? SPISendData(0x00); SPISendData(0x00); SPISendData(0x00); nSS_1; Delay(10); /?10ms SR0_L = SPISendData(RD_APC); SR0_H = SPISendData(0x00); APCL = SPISendData(0x00); APCH = SPISendData(0x00); nSS_1; Delay(10); void ISD_Init(void) ISD_Reset();/?: ? do ISD_PU();/?: ? RdStatus();/?: ? while(SR0_L&0x01)|(!(SR1&0x01); /if(SR0_L0=1)system Err ClrInt();/?: ? ISD_WR_APC2();/?: ?APC2 RdAPC(); /?: ?APC void ISD_CHK_MEM(void) nSS_0;SPISendData(CHK_MEM);/? SPISendData(0x00); nSS_1;Delay(10); void ISD_Reset(void) nSS_0;SPISendData(RESET);/? SPISendData(0x00); nSS_1; Delay(50); void ISD_Stop(void) nSS_0;SPISendData(STOP);/? SPISendData(0x00); nSS_1; Delay(50); void ISD_PU(void) nSS_0;SPISendData(PU);/Power up ? SPISendData(0x00); nSS_1; Delay(50); void ISD_PD(void) nSS_0;SPISendData(PD);/Power down ? SPISendData(0x00); nSS_1;Delay(10); uint8_t RD_DevID(void) nSS_0;SPISendData(DEVID);/?ID SPISendData(0x00); SPISendData(0x00); nSS_1;Delay(10); /?10ms SR0_L = SPISendData(DEVID); SR0_H = SPISendData(0x00); ID = SPISendData(0x00); nSS_1; Delay(10); return(ID); void ISD_PLAY(void) do RdStatus();/?: ? while(SR0_L&0x01)|(!(SR1&0x01); /if(SR0_L0=1)system Err ClrInt(); /?: ?nSS_0;SPISendData(PLAY);/从当前位置播放 SPISendData(0x00); nSS_1; Delay(10); /?10ms do RdStatus();/?: ? while(SR0_L&0x01)|(SR1&0x04); / 0x04? if(SR0_L0=1)system Err void ISD_FWD(void) do RdStatus();/?: ? while(SR0_L&0x01)|(!(SR1&0x01); /if(SR0_L0=1)system Err ClrInt(); /?: ?nSS_0;SPISendData(FWD);/跳到下一地址处 SPISendData(0x00); nSS_1; Delay(10); /?10ms do RdStatus();/?: ? while(SR0_L&0x01)|(SR1&0x04);void Erase_All(void) nSS_0;SPISendData(G_ERASE);/? SPISendData(0x00); nSS_1;Delay(10); /?10ms void ISD1760_config(void)/?IO? GPIO_InitTypeDef GPIO_InitStructure;/?,?(?) RCC_APB2PeriphClockCmd(RCC_GPIO_ISD1760,ENABLE);/?GPIO? GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;/? GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOE, &GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_GPIO_ISD1760,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;/? GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;/? GPIO_Init(GPIOE, &GPIO_InitStructure);/*?GPIO?*/v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基建物业工作管理制度
- 坚决落实各项管理制度
- 公司商品库存管理制度
- 工地周边卫生管理制度
- 国企人员性质管理制度
- 学校宣传稿件管理制度
- 小学财产设备管理制度
- 县区职业卫生管理制度
- 学校财务财产管理制度
- 城轨公司内部管理制度
- 陕09J01 建筑用料及做法图集
- 部编版道德与法治五(下)第三单元百年追梦复兴中华教学课件
- 2019三福百货品牌介绍51P
- 多元统计分析在经济中的应用论文(3篇)
- 新疆维吾尔自治区建筑工程补充预算定额说明
- OpenStack云计算平台实战课件(完整版)
- FIDIC施工合同条件(红皮书)
- 学前儿童语言教育课件精品ppt
- CATIA实用入门教程ppt课件(124页PPT)
- x8线切割编控系统使用说明书v16
- 打磨作业指导书
评论
0/150
提交评论