程序如下:
- void VoiceSetValue(uint16_t Value)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- uint8_t i=0;
- uint32_t j=0,VolDate=0x7D7;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD , ENABLE);
- /* 设置音量引脚*/
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOD, &GPIO_InitStructure);
- GPIO_WriteBit(GPIOD,GPIO_Pin_0,Bit_RESET);
- GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_SET);
- for(i=0;i<11;i++){
- for(j=0;j<10000;j++);
- if((VolDate>>i)&0x01){
- GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_SET);
- }else{
- GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_RESET);
- }
- for(j=0;j<10000;j++);
- GPIO_WriteBit(GPIOD,GPIO_Pin_0,Bit_SET);//上升沿锁存数据
- for(j=0;j<10000;j++);
- if(i==10){
- GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_SET);
- }else{
- GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_RESET);
- }
- for(j=0;j<10000;j++);
- GPIO_WriteBit(GPIOD,GPIO_Pin_0,Bit_RESET);//下降沿锁存0
- for(j=0;j<10000;j++);
- }
- GPIO_WriteBit(GPIOD,GPIO_Pin_1,Bit_RESET);
- }
复制代码我用逻辑分析仪采集到的时序如下:
123.jpg (21.46 KB, 下载次数: 0)
下载附件
2013-1-21 15:16 上传
芯片没任何音量输出,不知道为什么,求解答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
123.jpg (16.87 KB, 下载次数: 0)
下载附件
2013-1-21 17:24 上传
一周热门 更多>