1
完善资料让更多小伙伴认识你,还能领取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个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3311 浏览 9 评论
2994 浏览 16 评论
3493 浏览 1 评论
9058 浏览 16 评论
4087 浏览 18 评论
1176浏览 3评论
604浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
598浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2334浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1895浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:53 , Processed in 1.121809 second(s), Total 80, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号