⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdio.c

📁 近期完成的一个项目
💻 C
📖 第 1 页 / 共 4 页
字号:
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   else                                        //0X02+0X14,GET FBR CIS BYTE 2
   {
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x20;
   Buffer_send[5]=0xc5;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   }
   break; 
   case 0x20:                                  //GET MANFID CODE
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x20;
   Buffer_send[5]=0xc5;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break; 
   case 0x22:                                  //GET MANFD LINK BYTE
   if((CMD_R[1]&0x70)==0x00)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x04;
   Buffer_send[5]=0xe9;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break;
   case 0x24:                                  //READ MANFID BYTE1
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   //Buffer_send[4]=0x01;
   //Buffer_send[5]=0xb3;
   Buffer_send[4]=0x96;
   Buffer_send[5]=0x7d;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break; 
   case 0x26:                                  //READ MANFID BYTE2
   if((CMD_R[1]&0x70)==0x00)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   //Buffer_send[4]=0x05;
   //Buffer_send[5]=0xfb;
   Buffer_send[4]=0x02;
   Buffer_send[5]=0x85;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break;
   case 0x28:                                  //GET  MANU INFO BYTE1
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   //Buffer_send[4]=0x01;
   //Buffer_send[5]=0xb3;
   Buffer_send[4]=0x47;
   Buffer_send[5]=0x17;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1; 
   }
   break;
   case 0x2a:                                  //GET MANU INFO BYTE2
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   //Buffer_send[4]=0xf5;
   //Buffer_send[5]=0xe7;
   Buffer_send[4]=0x53;
   Buffer_send[5]=0x6d;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break;  
   case 0x2c:                                  //GET CIS SDIO EXTENSION CODE
   if((CMD_R[1]&0x70)==0x00)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x91;
   Buffer_send[5]=0x03;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break; 
   case 0x2e:                                  //GET CIS SDIO EXTENSION LINK DATA
   if((CMD_R[1]&0x70)==0x00)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x02;
   Buffer_send[5]=0x85;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break; 
   case 0x34:                                  //GET CIS SDIO EXTENSION LINK DATA
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0xff;
   Buffer_send[5]=0x53;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]);
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1; 
   }
   break; 
   case 0x18:                                  //0X02+0X16,GET FBR CIS BYTE 3
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x00;
   Buffer_send[5]=0xa1;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]);
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;    
   }
   break;
   case 0x1A:                                  //0X02+0X18,GET CSA POINTER BYTE1
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x01;
   Buffer_send[5]=0xb3;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1; 
   }
   break;  
   case 0x1C:                                  //0X1A+0X02,GET CSA POINTER BYTE2
   if((CMD_R[1]&0x70)==0x00)
   {   
   if(timer_index==1)
   debug_info=24;
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x80;
   Buffer_send[5]=0x23;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]);
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;   
   }
   break; 
   case 0x1E:                                  //0X1C+0X02,GET CSA POINTER BYTE3
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x1f;
   Buffer_send[5]=0x6b;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]);
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;    
   }
   break;
   case 0x06:                                  //0X00+0X06,test IO ready
   if((CMD_R[1]&0x70)==0x00)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x02;
   Buffer_send[5]=0x85;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }  
   else                                        //function 1,0x06(Open_Com)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x03;
   Buffer_send[5]=0x97;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }
   break; 
   case 0x08:                                  //Read 0x04 of function 1
   if((CMD_R[1]&0x70)==0x10)
   {   
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=0x03;
   Buffer_send[5]=0x97;
   //Buffer_send[4]=Uart_Reg_MCR;
   //Buffer_send[5]=crc7_CMD52[Uart_Reg_MCR];
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]); 
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1;
   }// end if
   break;
   case 0x0a:                                  //Read 0x05 of function 0,int pending bit  
   if((CMD_R[1]&0x70)==0x00)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          
   Buffer_send[4]=Int_Pending;
   Buffer_send[5]=crc7_CMD52[Int_Pending];
   Int_Pending=0;
   Timing_Sync();
   Write_Res_SD(Buffer_send[0]);
   Write_Res_SD(Buffer_send[1]);
   Write_Res_SD(Buffer_send[2]);
   Write_Res_SD(Buffer_send[3]);
   Write_Res_SD(Buffer_send[4]);
   Write_Res_SD(Buffer_send[5]);
   while(SD_CLK_PIN==0);
   SD_CMD_PIN=1; 
   //
   }// end if
   break;
   case 0x04:                                  //Read 0x02 of function 1,IIR REG
   if((CMD_R[1]&0x70)==0x10)
   {  
   Buffer_send[0]=0x34;                        //command index
   Buffer_send[1]=0x00;                      
   Buffer_send[2]=0x00;
   Buffer_send[3]=0x20;                                          

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -