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

📄 stm32f10x_dma.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 4 页
字号:
    227          void DMA_Cmd(DMA_Channel_TypeDef* DMA_Channelx, FunctionalState NewState)
    228          {
    229            /* Check the parameters */
    230            assert_param(IS_FUNCTIONAL_STATE(NewState));
    231          
    232            if (NewState != DISABLE)				  
   \                     DMA_Cmd:
   \   00000000   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   00000002   0029               CMP      R1,#+0
   \   00000004   04D0               BEQ.N    ??DMA_Cmd_0
    233            {
    234              /* Enable the selected DMA Channelx */
    235              DMA_Channelx->CCR |= CCR_ENABLE_Set;
   \   00000006   0268               LDR      R2,[R0, #+0]
   \   00000008   52F00102           ORRS     R2,R2,#0x1
   \   0000000C   0260               STR      R2,[R0, #+0]
   \   0000000E   03E0               B.N      ??DMA_Cmd_1
    236            }
    237            else
    238            {
    239              /* Disable the selected DMA Channelx */
    240              DMA_Channelx->CCR &= CCR_ENABLE_Reset;
   \                     ??DMA_Cmd_0:
   \   00000010   0268               LDR      R2,[R0, #+0]
   \   00000012   0123               MOVS     R3,#+1
   \   00000014   9A43               BICS     R2,R2,R3
   \   00000016   0260               STR      R2,[R0, #+0]
    241            }
    242          }
   \                     ??DMA_Cmd_1:
   \   00000018   7047               BX       LR               ;; return
    243          
    244          /*******************************************************************************
    245          * Function Name  : DMA_ITConfig
    246          * Description    : Enables or disables the specified DMA Channelx interrupts.
    247          * Input          : - DMA_IT: specifies the DMA interrupts sources to be enabled
    248          *                    or disabled. 
    249          *                    This parameter can be any combination of the following values:
    250          *                       - DMA_IT_TC:  Transfer complete interrupt mask
    251          *                       - DMA_IT_HT:  Half transfer interrupt mask
    252          *                       - DMA_IT_TE:  Transfer error interrupt mask
    253          *                  - NewState: new state of the specified DMA interrupts.
    254          *                    This parameter can be: ENABLE or DISABLE.
    255          * Output         : None
    256          * Return         : None
    257          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    258          void DMA_ITConfig(DMA_Channel_TypeDef* DMA_Channelx, u32 DMA_IT, FunctionalState NewState)
    259          {
    260            /* Check the parameters */
    261            assert_param(IS_DMA_CONFIG_IT(DMA_IT));
    262            assert_param(IS_FUNCTIONAL_STATE(NewState));
    263          
    264            if (NewState != DISABLE)
   \                     DMA_ITConfig:
   \   00000000   D2B2               UXTB     R2,R2            ;; ZeroExtS R2,R2,#+24,#+24
   \   00000002   002A               CMP      R2,#+0
   \   00000004   03D0               BEQ.N    ??DMA_ITConfig_0
    265            {
    266              /* Enable the selected DMA interrupts */
    267              DMA_Channelx->CCR |= DMA_IT;
   \   00000006   0368               LDR      R3,[R0, #+0]
   \   00000008   0B43               ORRS     R3,R3,R1
   \   0000000A   0360               STR      R3,[R0, #+0]
   \   0000000C   02E0               B.N      ??DMA_ITConfig_1
    268            }
    269            else
    270            {
    271              /* Disable the selected DMA interrupts */
    272              DMA_Channelx->CCR &= ~DMA_IT;
   \                     ??DMA_ITConfig_0:
   \   0000000E   0368               LDR      R3,[R0, #+0]
   \   00000010   8B43               BICS     R3,R3,R1
   \   00000012   0360               STR      R3,[R0, #+0]
    273            }
    274          }
   \                     ??DMA_ITConfig_1:
   \   00000014   7047               BX       LR               ;; return
    275          
    276          /*******************************************************************************
    277          * Function Name  : DMA_GetCurrDataCounter
    278          * Description    : Returns the number of remaining data units in the current
    279          *                  DMA Channelx transfer.
    280          * Input          : - DMA_Channelx: where x can be 1, 2 to 7 to select the DMA
    281          *                    Channel.
    282          * Output         : None
    283          * Return         : The number of remaining data units in the current DMA Channel
    284          *                  transfer..
    285          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    286          u16 DMA_GetCurrDataCounter(DMA_Channel_TypeDef* DMA_Channelx)
    287          {
    288            /* Return the current memory address value for Channelx */
    289            return ((u16)(DMA_Channelx->CNDTR));
   \                     DMA_GetCurrDataCounter:
   \   00000000   4068               LDR      R0,[R0, #+4]
   \   00000002   80B2               UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
   \   00000004   7047               BX       LR               ;; return
    290          }
    291          
    292          /*******************************************************************************
    293          * Function Name  : DMA_GetFlagStatus
    294          * Description    : Checks whether the specified DMA Channelx flag is set or not.
    295          * Input          : - DMA_FLAG: specifies the flag to check. 
    296          *                    This parameter can be one of the following values:
    297          *                       - DMA_FLAG_GL1: Channel1 global flag.
    298          *                       - DMA_FLAG_TC1: Channel1 transfer complete flag.
    299          *                       - DMA_FLAG_HT1: Channel1 half transfer flag.
    300          *                       - DMA_FLAG_TE1: Channel1 transfer error flag.
    301          *                       - DMA_FLAG_GL2: Channel2 global flag.
    302          *                       - DMA_FLAG_TC2: Channel2 transfer complete flag.
    303          *                       - DMA_FLAG_HT2: Channel2 half transfer flag.
    304          *                       - DMA_FLAG_TE2: Channel2 transfer error flag.
    305          *                       - DMA_FLAG_GL3: Channel3 global flag.
    306          *                       - DMA_FLAG_TC3: Channel3 transfer complete flag.
    307          *                       - DMA_FLAG_HT3: Channel3 half transfer flag.
    308          *                       - DMA_FLAG_TE3: Channel3 transfer error flag.
    309          *                       - DMA_FLAG_GL4: Channel4 global flag.
    310          *                       - DMA_FLAG_TC4: Channel4 transfer complete flag.
    311          *                       - DMA_FLAG_HT4: Channel4 half transfer flag.
    312          *                       - DMA_FLAG_TE4: Channel4 transfer error flag.
    313          *                       - DMA_FLAG_GL5: Channel5 global flag.
    314          *                       - DMA_FLAG_TC5: Channel5 transfer complete flag.
    315          *                       - DMA_FLAG_HT5: Channel5 half transfer flag.
    316          *                       - DMA_FLAG_TE5: Channel5 transfer error flag.
    317          *                       - DMA_FLAG_GL6: Channel6 global flag.
    318          *                       - DMA_FLAG_TC6: Channel6 transfer complete flag.
    319          *                       - DMA_FLAG_HT6: Channel6 half transfer flag.
    320          *                       - DMA_FLAG_TE6: Channel6 transfer error flag.
    321          *                       - DMA_FLAG_GL7: Channel7 global flag.
    322          *                       - DMA_FLAG_TC7: Channel7 transfer complete flag.
    323          *                       - DMA_FLAG_HT7: Channel7 half transfer flag.
    324          *                       - DMA_FLAG_TE7: Channel7 transfer error flag.
    325          * Output         : None
    326          * Return         : The new state of DMA_FLAG (SET or RESET).
    327          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    328          FlagStatus DMA_GetFlagStatus(u32 DMA_FLAG)
    329          {
   \                     DMA_GetFlagStatus:
   \   00000000   0100               MOVS     R1,R0
    330            FlagStatus bitstatus = RESET;
   \   00000002   0022               MOVS     R2,#+0
   \   00000004   1000               MOVS     R0,R2
    331          
    332            /* Check the parameters */
    333            assert_param(IS_DMA_GET_FLAG(DMA_FLAG));
    334          
    335            /* Check the status of the specified DMA flag */
    336            if ((DMA->ISR & DMA_FLAG) != (u32)RESET)
   \   00000006   ....               LDR.N    R2,??DataTable16  ;; 0x40020000
   \   00000008   1268               LDR      R2,[R2, #+0]
   \   0000000A   0A40               ANDS     R2,R2,R1
   \   0000000C   521E               SUBS     R2,R2,#+1
   \   0000000E   9241               SBCS     R2,R2,R2
   \   00000010   D243               MVNS     R2,R2
   \   00000012   D20F               LSRS     R2,R2,#+31
   \   00000014   1000               MOVS     R0,R2
    337            {
    338              /* DMA_FLAG is set */
    339              bitstatus = SET;
    340            }
    341            else
    342            {
    343              /* DMA_FLAG is reset */
    344              bitstatus = RESET;
    345            }
    346            /* Return the DMA_FLAG status */
    347            return  bitstatus;
   \   00000016   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000018   7047               BX       LR               ;; return
    348          }
    349          
    350          /*******************************************************************************
    351          * Function Name  : DMA_ClearFlag
    352          * Description    : Clears the DMA Channelx's pending flags.
    353          * Input          : - DMA_FLAG: specifies the flag to clear. 
    354          *                    This parameter can be any combination of the following values:
    355          *                       - DMA_FLAG_GL1: Channel1 global flag.
    356          *                       - DMA_FLAG_TC1: Channel1 transfer complete flag.
    357          *                       - DMA_FLAG_HT1: Channel1 half transfer flag.
    358          *                       - DMA_FLAG_TE1: Channel1 transfer error flag.
    359          *                       - DMA_FLAG_GL2: Channel2 global flag.
    360          *                       - DMA_FLAG_TC2: Channel2 transfer complete flag.
    361          *                       - DMA_FLAG_HT2: Channel2 half transfer flag.
    362          *                       - DMA_FLAG_TE2: Channel2 transfer error flag.
    363          *                       - DMA_FLAG_GL3: Channel3 global flag.
    364          *                       - DMA_FLAG_TC3: Channel3 transfer complete flag.
    365          *                       - DMA_FLAG_HT3: Channel3 half transfer flag.
    366          *                       - DMA_FLAG_TE3: Channel3 transfer error flag.
    367          *                       - DMA_FLAG_GL4: Channel4 global flag.
    368          *                       - DMA_FLAG_TC4: Channel4 transfer complete flag.
    369          *                       - DMA_FLAG_HT4: Channel4 half transfer flag.
    370          *                       - DMA_FLAG_TE4: Channel4 transfer error flag.
    371          *                       - DMA_FLAG_GL5: Channel5 global flag.
    372          *                       - DMA_FLAG_TC5: Channel5 transfer complete flag.
    373          *                       - DMA_FLAG_HT5: Channel5 half transfer flag.
    374          *                       - DMA_FLAG_TE5: Channel5 transfer error flag.
    375          *                       - DMA_FLAG_GL6: Channel6 global flag.
    376          *                       - DMA_FLAG_TC6: Channel6 transfer complete flag.

⌨️ 快捷键说明

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