完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
void ISD_Ready(void) // 在SPI命令输入到1760前 应保持的状态
{ SS=1; SCLK=1; MOSI=0; } void ISD_UP(void) //上电 { SS=0; //为低是选中芯片并开启SPI接口 ISD_senDdat(0x01); ISD_senDdat(0x00); SS=1; delay(50); //空闲时拉高 } void ISD_RESET(void) //芯片复位 { SS=0; ISD_senDdat(0x03); ISD_senDdat(0x00); SS=1; delay(50); } void ISD_RD_STATUS(void) //返回状态寄存器的内容 { SS=0; ISD_senDdat(0x05); ISD_senDdat(0x00); ISD_senDdat(0x00); delay(10); SR0_L=ISD_senDdat(0x05); SR0_H=ISD_senDdat(0x00); SR1=ISD_senDdat(0x00); SS=1; delay(50); } uchar ISD_senDdat(uchar dat) { uint i; uchar ISD_BUF; ISD_Ready(); ISD_BUF=dat; //需要发送给ISD1760的数据 SS=0; for(i=0;i<8;i++) { SCLK=0; if((ISD_BUF&0x01)==1) { MOSI=1; //逐位发送,低位先发送 } else { MOSI=0; } ISD_BUF=ISD_BUF>>1; //发送好一位之后右移一位 if(MISO) //同时接受返回的数据,返回数据高位先移出 { ISD_BUF=ISD_BUF|0x80; } SCLK=1; delay(6); } MOSI=0; return(ISD_BUF); //返回给MCU } void ISD_Init(void) { uchar SBUF; ISD_Ready(); SR0_L=0; SR0_H=0; SR1=0; PLAYADD_L=0; //初始化寄存器的值 PLAYADD_H=0; ERCADD_L=0; ERCADD_H=0; APC_L=0; APC_H=0; ISD_RESET(); //复位 delay(50); while((SR0_L&0x01)||(!(SR1&0x01))) //上电 芯片成功上电后PU和RDY置1 { ISD_UP(); delay(500); ISD_RD_STATUS(); } while(ISD_Free()); //检测忙 SBUF=ISD_REVID(); //读取芯片 delay(10); delay(10); while(ISD_Free()); //检测忙 ISD_CLR_INT(); //清除中断 delay(10); while(ISD_Free()); //检测忙 ISD_WR_APC2(0x40,0x0c); //设置APC寄存器的值 初始化音量取中间音量 delay(10); while(ISD_Free()); //检测忙 ISD_RD_APC(); //读取APC寄存器的数据 delay(10); } 我只放上了需要用来初始化的主要程序,在芯片运行的时候会在 while((SR0_L&0x01)||(!(SR1&0x01))) //上电 芯片成功上电后PU和RDY置1 { ISD_UP(); delay(500); ISD_RD_STATUS(); } 这个循环之内出不来 我也试过另外的判条件while((!(SR1&0x01))||(!(SR0_L&0x04)))即上电成功之后RDY和PU置1 可是不管哪种方法都不行,网纱那个的资料也查了很多了 也弄不明白 求做过语音芯片的大神指点一下!谢谢啦! |
|
相关推荐
1个回答
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1599 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4738 浏览 0 评论
4229 浏览 9 评论
3822 浏览 16 评论
4398 浏览 1 评论
4210浏览 3评论
2379浏览 0评论
3393浏览 0评论
1158浏览 0评论
2843浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 22:59 , Processed in 0.969909 second(s), Total 76, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3100