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

📄 stm32f10x_sdio.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 3 页
字号:

                          AREA ||i.SDIO_ReadData||, CODE, READONLY, ALIGN=2

                  SDIO_ReadData PROC
;;;483    *******************************************************************************/
;;;484    u32 SDIO_ReadData(void)
000000  4801              LDR      r0,|L20.8|
;;;485    { 
;;;486      return SDIO->FIFO;
000002  6800              LDR      r0,[r0,#0]
;;;487    }
000004  4770              BX       lr
;;;488    
                          ENDP

000006  0000              DCW      0x0000
                  |L20.8|
                          DCD      0x40018080

                          AREA ||i.SDIO_SendCEATACmd||, CODE, READONLY, ALIGN=2

                  SDIO_SendCEATACmd PROC
;;;635    *******************************************************************************/
;;;636    void SDIO_SendCEATACmd(FunctionalState NewState)
000000  4901              LDR      r1,|L21.8|
;;;637    { 
;;;638      /* Check the parameters */
;;;639      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;640      
;;;641      *(vu32 *) CMD_ATACMD_BB = (u32)NewState;
000002  6008              STR      r0,[r1,#0]
;;;642    }
000004  4770              BX       lr
;;;643    
                          ENDP

000006  0000              DCW      0x0000
                  |L21.8|
                          DCD      0x423001b8

                          AREA ||i.SDIO_SendCommand||, CODE, READONLY, ALIGN=2

                  SDIO_SendCommand PROC
;;;317    *******************************************************************************/
;;;318    void SDIO_SendCommand(SDIO_CmdInitTypeDef *SDIO_CmdInitStruct)
000000  b530              PUSH     {r4,r5,lr}
;;;319    {
;;;320      u32 tmpreg = 0;
;;;321      
;;;322      /* Check the parameters */
;;;323      assert_param(IS_SDIO_CMD_INDEX(SDIO_CmdInitStruct->SDIO_CmdIndex));
;;;324      assert_param(IS_SDIO_RESPONSE(SDIO_CmdInitStruct->SDIO_Response));
;;;325      assert_param(IS_SDIO_WAIT(SDIO_CmdInitStruct->SDIO_Wait));
;;;326      assert_param(IS_SDIO_CPSM(SDIO_CmdInitStruct->SDIO_CPSM));
;;;327      
;;;328    /*---------------------------- SDIO ARG Configuration ------------------------*/
;;;329      /* Set the SDIO Argument value */
;;;330      SDIO->ARG = SDIO_CmdInitStruct->SDIO_Argument;
000002  4908              LDR      r1,|L22.36|
000004  6802              LDR      r2,[r0,#0]
000006  608a              STR      r2,[r1,#8]
;;;331      
;;;332    /*---------------------------- SDIO CMD Configuration ------------------------*/  
;;;333      /* Get the SDIO CMD value */
;;;334      tmpreg = SDIO->CMD;
000008  68ca              LDR      r2,[r1,#0xc]
;;;335    
;;;336      /* Clear CMDINDEX, WAITRESP, WAITINT, WAITPEND, CPSMEN bits */
;;;337      tmpreg &= CMD_CLEAR_MASK;
;;;338      /* Set CMDINDEX bits according to SDIO_CmdIndex value */
;;;339      /* Set WAITRESP bits according to SDIO_Response value */
;;;340      /* Set WAITINT and WAITPEND bits according to SDIO_Wait value */
;;;341      /* Set CPSMEN bits according to SDIO_CPSM value */
;;;342      tmpreg |= (u32)SDIO_CmdInitStruct->SDIO_CmdIndex | SDIO_CmdInitStruct->SDIO_Response
00000a  e9d05402          LDRD     r5,r4,[r0,#8]
00000e  6843              LDR      r3,[r0,#4]
000010  6900              LDR      r0,[r0,#0x10]
000012  432b              ORRS     r3,r3,r5
000014  4304              ORRS     r4,r4,r0
000016  f36f020a          BFC      r2,#0,#11             ;337
00001a  4323              ORRS     r3,r3,r4
00001c  4313              ORRS     r3,r3,r2
;;;343               | SDIO_CmdInitStruct->SDIO_Wait | SDIO_CmdInitStruct->SDIO_CPSM;
;;;344      
;;;345      /* Write to SDIO CMD */
;;;346      SDIO->CMD = tmpreg;
00001e  60cb              STR      r3,[r1,#0xc]
;;;347    }
000020  bd30              POP      {r4,r5,pc}
;;;348    
                          ENDP

000022  0000              DCW      0x0000
                  |L22.36|
                          DCD      0x40018000

                          AREA ||i.SDIO_SendSDIOSuspendCmd||, CODE, READONLY, ALIGN=2

                  SDIO_SendSDIOSuspendCmd PROC
;;;587    *******************************************************************************/
;;;588    void SDIO_SendSDIOSuspendCmd(FunctionalState NewState)
000000  4901              LDR      r1,|L23.8|
;;;589    { 
;;;590      /* Check the parameters */
;;;591      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;592      
;;;593      *(vu32 *) CMD_SDIOSUSPEND_BB = (u32)NewState;
000002  6008              STR      r0,[r1,#0]
;;;594    }
000004  4770              BX       lr
;;;595    
                          ENDP

000006  0000              DCW      0x0000
                  |L23.8|
                          DCD      0x423001ac

                          AREA ||i.SDIO_SetPowerState||, CODE, READONLY, ALIGN=2

                  SDIO_SetPowerState PROC
;;;204    *******************************************************************************/
;;;205    void SDIO_SetPowerState(u32 SDIO_PowerState)
000000  4904              LDR      r1,|L24.20|
;;;206    {
;;;207      /* Check the parameters */
;;;208      assert_param(IS_SDIO_POWER_STATE(SDIO_PowerState));
;;;209      
;;;210      SDIO->POWER &= PWR_PWRCTRL_MASK;
000002  680a              LDR      r2,[r1,#0]
000004  f0220203          BIC      r2,r2,#3
000008  600a              STR      r2,[r1,#0]
;;;211      SDIO->POWER |= SDIO_PowerState;
00000a  680a              LDR      r2,[r1,#0]
00000c  4302              ORRS     r2,r2,r0
00000e  600a              STR      r2,[r1,#0]
;;;212    }
000010  4770              BX       lr
;;;213    
                          ENDP

000012  0000              DCW      0x0000
                  |L24.20|
                          DCD      0x40018000

                          AREA ||i.SDIO_SetSDIOOperation||, CODE, READONLY, ALIGN=2

                  SDIO_SetSDIOOperation PROC
;;;571    *******************************************************************************/
;;;572    void SDIO_SetSDIOOperation(FunctionalState NewState)
000000  4901              LDR      r1,|L25.8|
;;;573    { 
;;;574      /* Check the parameters */
;;;575      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;576      
;;;577      *(vu32 *) DCTRL_SDIOEN_BB = (u32)NewState;
000002  6008              STR      r0,[r1,#0]
;;;578    }
000004  4770              BX       lr
;;;579    
                          ENDP

000006  0000              DCW      0x0000
                  |L25.8|
                          DCD      0x423005ac

                          AREA ||i.SDIO_SetSDIOReadWaitMode||, CODE, READONLY, ALIGN=2

                  SDIO_SetSDIOReadWaitMode PROC
;;;555    *******************************************************************************/
;;;556    void SDIO_SetSDIOReadWaitMode(u32 SDIO_ReadWaitMode)
000000  4901              LDR      r1,|L26.8|
;;;557    {
;;;558      /* Check the parameters */
;;;559      assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode));
;;;560      
;;;561      *(vu32 *) DCTRL_RWMOD_BB = SDIO_ReadWaitMode;
000002  6008              STR      r0,[r1,#0]
;;;562    }
000004  4770              BX       lr
;;;563    
                          ENDP

000006  0000              DCW      0x0000
                  |L26.8|
                          DCD      0x423005a8

                          AREA ||i.SDIO_StartSDIOReadWait||, CODE, READONLY, ALIGN=2

                  SDIO_StartSDIOReadWait PROC
;;;521    *******************************************************************************/
;;;522    void SDIO_StartSDIOReadWait(FunctionalState NewState)
000000  4901              LDR      r1,|L27.8|
;;;523    { 
;;;524      /* Check the parameters */
;;;525      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;526      
;;;527      *(vu32 *) DCTRL_RWSTART_BB = (u32) NewState;
000002  6008              STR      r0,[r1,#0]
;;;528    }
000004  4770              BX       lr
;;;529    
                          ENDP

000006  0000              DCW      0x0000
                  |L27.8|
                          DCD      0x423005a0

                          AREA ||i.SDIO_StopSDIOReadWait||, CODE, READONLY, ALIGN=2

                  SDIO_StopSDIOReadWait PROC
;;;537    *******************************************************************************/
;;;538    void SDIO_StopSDIOReadWait(FunctionalState NewState)
000000  4901              LDR      r1,|L28.8|
;;;539    { 
;;;540      /* Check the parameters */
;;;541      assert_param(IS_FUNCTIONAL_STATE(NewState));
;;;542      
;;;543      *(vu32 *) DCTRL_RWSTOP_BB = (u32) NewState;
000002  6008              STR      r0,[r1,#0]
;;;544    }
000004  4770              BX       lr
;;;545    
                          ENDP

000006  0000              DCW      0x0000
                  |L28.8|
                          DCD      0x423005a4

                          AREA ||i.SDIO_StructInit||, CODE, READONLY, ALIGN=1

                  SDIO_StructInit PROC
;;;167    *******************************************************************************/
;;;168    void SDIO_StructInit(SDIO_InitTypeDef* SDIO_InitStruct)
000000  2100              MOVS     r1,#0
;;;169    {
;;;170      /* SDIO_InitStruct members default value */
;;;171      SDIO_InitStruct->SDIO_ClockDiv = 0x00;
000002  7001              STRB     r1,[r0,#0]
;;;172      SDIO_InitStruct->SDIO_ClockEdge = SDIO_ClockEdge_Rising;
;;;173      SDIO_InitStruct->SDIO_ClockBypass = SDIO_ClockBypass_Disable;
000004  6041              STR      r1,[r0,#4]
;;;174      SDIO_InitStruct->SDIO_ClockPowerSave = SDIO_ClockPowerSave_Disable;
000006  6081              STR      r1,[r0,#8]
;;;175      SDIO_InitStruct->SDIO_BusWide = SDIO_BusWide_1b;
000008  60c1              STR      r1,[r0,#0xc]
;;;176      SDIO_InitStruct->SDIO_HardwareFlowControl = SDIO_HardwareFlowControl_Disable;
00000a  6101              STR      r1,[r0,#0x10]
;;;177    }
00000c  6141              STR      r1,[r0,#0x14]
00000e  4770              BX       lr
;;;178    
                          ENDP


                          AREA ||i.SDIO_WriteData||, CODE, READONLY, ALIGN=2

                  SDIO_WriteData PROC
;;;495    *******************************************************************************/
;;;496    void SDIO_WriteData(u32 Data)
000000  4901              LDR      r1,|L30.8|
;;;497    { 
;;;498      SDIO->FIFO = Data;
000002  6008              STR      r0,[r1,#0]
;;;499    }
000004  4770              BX       lr
;;;500    
                          ENDP

000006  0000              DCW      0x0000
                  |L30.8|
                          DCD      0x40018080

⌨️ 快捷键说明

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