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

📄 stm32f10x_usart.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
    140            
    141          /*---------------------------- USART CR2 Configuration -----------------------*/
    142            tmpreg = USARTx->CR2;
   \   00000018   208A               LDRH     R0,[R4, #+16]
   \   0000001A   0700               MOVS     R7,R0
    143            /* Clear STOP[13:12], CLKEN, CPOL, CPHA and LBCL bits */
    144            tmpreg &= CR2_CLEAR_Mask;
   \   0000001C   3800               MOVS     R0,R7
   \   0000001E   2C4F               LDR.N    R7,??USART_Init_0  ;; 0xc0ff
   \   00000020   0740               ANDS     R7,R7,R0
    145          
    146            /* Configure the USART Stop Bits, Clock, CPOL, CPHA and LastBit ------------*/
    147            /* Set STOP[13:12] bits according to USART_Mode value */
    148            /* Set CPOL bit according to USART_CPOL value */
    149            /* Set CPHA bit according to USART_CPHA value */
    150            /* Set LBCL bit according to USART_LastBit value */
    151            tmpreg |= (u32)USART_InitStruct->USART_StopBits | USART_InitStruct->USART_Clock |
    152                      USART_InitStruct->USART_CPOL | USART_InitStruct->USART_CPHA |
    153                      USART_InitStruct->USART_LastBit;
   \   00000022   E888               LDRH     R0,[R5, #+6]
   \   00000024   E989               LDRH     R1,[R5, #+14]
   \   00000026   0143               ORRS     R1,R1,R0
   \   00000028   288A               LDRH     R0,[R5, #+16]
   \   0000002A   0843               ORRS     R0,R0,R1
   \   0000002C   698A               LDRH     R1,[R5, #+18]
   \   0000002E   0143               ORRS     R1,R1,R0
   \   00000030   A88A               LDRH     R0,[R5, #+20]
   \   00000032   0843               ORRS     R0,R0,R1
   \   00000034   3843               ORRS     R0,R0,R7
   \   00000036   0700               MOVS     R7,R0
    154          
    155            /* Write to USART CR2 */
    156            USARTx->CR2 = (u16)tmpreg;
   \   00000038   3800               MOVS     R0,R7
   \   0000003A   2082               STRH     R0,[R4, #+16]
    157          
    158          /*---------------------------- USART CR1 Configuration -----------------------*/
    159            tmpreg = 0x00;
   \   0000003C   0020               MOVS     R0,#+0
   \   0000003E   0700               MOVS     R7,R0
    160            tmpreg = USARTx->CR1;
   \   00000040   A089               LDRH     R0,[R4, #+12]
   \   00000042   0700               MOVS     R7,R0
    161            /* Clear M, PCE, PS, TE and RE bits */
    162            tmpreg &= CR1_CLEAR_Mask;
   \   00000044   3800               MOVS     R0,R7
   \   00000046   234F               LDR.N    R7,??USART_Init_0+0x4  ;; 0xe9f3
   \   00000048   0740               ANDS     R7,R7,R0
    163          
    164            /* Configure the USART Word Length, Parity and mode ----------------------- */
    165            /* Set the M bits according to USART_WordLength value */
    166            /* Set PCE and PS bits according to USART_Parity value */
    167            /* Set TE and RE bits according to USART_Mode value */
    168            tmpreg |= (u32)USART_InitStruct->USART_WordLength | USART_InitStruct->USART_Parity |
    169                      USART_InitStruct->USART_Mode;
   \   0000004A   A888               LDRH     R0,[R5, #+4]
   \   0000004C   2989               LDRH     R1,[R5, #+8]
   \   0000004E   0143               ORRS     R1,R1,R0
   \   00000050   A889               LDRH     R0,[R5, #+12]
   \   00000052   0843               ORRS     R0,R0,R1
   \   00000054   3843               ORRS     R0,R0,R7
   \   00000056   0700               MOVS     R7,R0
    170          
    171            /* Write to USART CR1 */
    172            USARTx->CR1 = (u16)tmpreg;
   \   00000058   3800               MOVS     R0,R7
   \   0000005A   A081               STRH     R0,[R4, #+12]
    173          
    174          /*---------------------------- USART CR3 Configuration -----------------------*/
    175            tmpreg = 0x00;
   \   0000005C   0020               MOVS     R0,#+0
   \   0000005E   0700               MOVS     R7,R0
    176            tmpreg = USARTx->CR3;
   \   00000060   A08A               LDRH     R0,[R4, #+20]
   \   00000062   0700               MOVS     R7,R0
    177            /* Clear CTSE and RTSE bits */
    178            tmpreg &= CR3_CLEAR_Mask;
   \   00000064   3800               MOVS     R0,R7
   \   00000066   1C4F               LDR.N    R7,??USART_Init_0+0x8  ;; 0xfcff
   \   00000068   0740               ANDS     R7,R7,R0
    179          
    180            /* Configure the USART HFC -------------------------------------------------*/
    181            /* Set CTSE and RTSE bits according to USART_HardwareFlowControl value */
    182            tmpreg |= USART_InitStruct->USART_HardwareFlowControl;
   \   0000006A   3800               MOVS     R0,R7
   \   0000006C   6F89               LDRH     R7,[R5, #+10]
   \   0000006E   0743               ORRS     R7,R7,R0
    183          
    184            /* Write to USART CR3 */
    185            USARTx->CR3 = (u16)tmpreg;
   \   00000070   3800               MOVS     R0,R7
   \   00000072   A082               STRH     R0,[R4, #+20]
    186          
    187          /*---------------------------- USART BRR Configuration -----------------------*/
    188            tmpreg = 0x00;
   \   00000074   0020               MOVS     R0,#+0
   \   00000076   0700               MOVS     R7,R0
    189          
    190            /* Configure the USART Baud Rate -------------------------------------------*/
    191            RCC_GetClocksFreq(&RCC_ClocksStatus);
   \   00000078   02A8               ADD      R0,SP,#+8
   \   0000007A   ........           BL       RCC_GetClocksFreq
    192            if ((*(u32*)&USARTx) == USART1_BASE)
   \   0000007E   1748               LDR.N    R0,??USART_Init_0+0xC  ;; 0x40013800
   \   00000080   8442               CMP      R4,R0
   \   00000082   02D1               BNE.N    ??USART_Init_1
    193            {
    194              apbclock = RCC_ClocksStatus.PCLK2_Frequency;
   \   00000084   0598               LDR      R0,[SP, #+20]
   \   00000086   0090               STR      R0,[SP, #+0]
   \   00000088   01E0               B.N      ??USART_Init_2
    195            }
    196            else
    197            {
    198              apbclock = RCC_ClocksStatus.PCLK1_Frequency;
   \                     ??USART_Init_1:
   \   0000008A   0498               LDR      R0,[SP, #+16]
   \   0000008C   0090               STR      R0,[SP, #+0]
    199            }
    200          
    201            /* Determine the integer part */
    202            integerdivider = ((0x19 * apbclock) / (0x04 * (USART_InitStruct->USART_BaudRate)));
   \                     ??USART_Init_2:
   \   0000008E   0098               LDR      R0,[SP, #+0]
   \   00000090   1921               MOVS     R1,#+25
   \   00000092   4843               MULS     R0,R1,R0
   \   00000094   2968               LDR      R1,[R5, #+0]
   \   00000096   0422               MOVS     R2,#+4
   \   00000098   5143               MULS     R1,R2,R1
   \   0000009A   B0FBF1F6           UDIV     R6,R0,R1
    203            tmpreg = (integerdivider / 0x64) << 0x04;
   \   0000009E   6420               MOVS     R0,#+100
   \   000000A0   B6FBF0F0           UDIV     R0,R6,R0
   \   000000A4   0701               LSLS     R7,R0,#+4
    204          
    205            /* Determine the fractional part */
    206            fractionaldivider = integerdivider - (0x64 * (tmpreg >> 0x04));
   \   000000A6   3809               LSRS     R0,R7,#+4
   \   000000A8   6421               MOVS     R1,#+100
   \   000000AA   00FB1160           MLS      R0,R0,R1,R6
   \   000000AE   0190               STR      R0,[SP, #+4]
    207            tmpreg |= ((((fractionaldivider * 0x10) + 0x32) / 0x64)) & ((u8)0x0F);
   \   000000B0   0198               LDR      R0,[SP, #+4]
   \   000000B2   1021               MOVS     R1,#+16
   \   000000B4   4843               MULS     R0,R1,R0
   \   000000B6   3230               ADDS     R0,R0,#+50
   \   000000B8   6421               MOVS     R1,#+100
   \   000000BA   B0FBF1F0           UDIV     R0,R0,R1
   \   000000BE   0007               LSLS     R0,R0,#+28       ;; ZeroExtS R0,R0,#+28,#+28
   \   000000C0   000F               LSRS     R0,R0,#+28
   \   000000C2   3843               ORRS     R0,R0,R7
   \   000000C4   0700               MOVS     R7,R0
    208          
    209            /* Write to USART BRR */
    210            USARTx->BRR = (u16)tmpreg;
   \   000000C6   3800               MOVS     R0,R7
   \   000000C8   2081               STRH     R0,[R4, #+8]
    211          }
   \   000000CA   07B0               ADD      SP,SP,#+28
   \   000000CC   F0BD               POP      {R4-R7,PC}       ;; return
   \   000000CE   00BF               Nop      
   \                     ??USART_Init_0:
   \   000000D0   FFC00000           DC32     0xc0ff
   \   000000D4   F3E90000           DC32     0xe9f3
   \   000000D8   FFFC0000           DC32     0xfcff
   \   000000DC   00380140           DC32     0x40013800
    212          
    213          /*******************************************************************************
    214          * Function Name  : USART_StructInit
    215          * Description    : Fills each USART_InitStruct member with its default value.
    216          * Input          : - USART_InitStruct: pointer to a USART_InitTypeDef structure
    217          *                    which will be initialized.
    218          * Output         : None
    219          * Return         : None
    220          *******************************************************************************/

   \                                 In section .XML, align 4, keep-with-next
    221          void USART_StructInit(USART_InitTypeDef* USART_InitStruct)
    222          {
    223            /* USART_InitStruct members default value */
    224            USART_InitStruct->USART_BaudRate = 0x2580; /* 9600 Baud */
   \                     USART_StructInit:
   \   00000000   5FF41651           MOVS     R1,#+9600
   \   00000004   0160               STR      R1,[R0, #+0]
    225            USART_InitStruct->USART_WordLength = USART_WordLength_8b;
   \   00000006   0021               MOVS     R1,#+0
   \   00000008   8180               STRH     R1,[R0, #+4]
    226            USART_InitStruct->USART_StopBits = USART_StopBits_1;
   \   0000000A   0021               MOVS     R1,#+0
   \   0000000C   C180               STRH     R1,[R0, #+6]
    227            USART_InitStruct->USART_Parity = USART_Parity_No ;
   \   0000000E   0021               MOVS     R1,#+0
   \   00000010   0181               STRH     R1,[R0, #+8]
    228            USART_InitStruct->USART_HardwareFlowControl = USART_HardwareFlowControl_None;
   \   00000012   0021               MOVS     R1,#+0
   \   00000014   4181               STRH     R1,[R0, #+10]
    229            USART_InitStruct->USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
   \   00000016   0C21               MOVS     R1,#+12
   \   00000018   8181               STRH     R1,[R0, #+12]
    230            USART_InitStruct->USART_Clock = USART_Clock_Disable;
   \   0000001A   0021               MOVS     R1,#+0
   \   0000001C   C181               STRH     R1,[R0, #+14]
    231            USART_InitStruct->USART_CPOL = USART_CPOL_Low;
   \   0000001E   0021               MOVS     R1,#+0
   \   00000020   0182               STRH     R1,[R0, #+16]
    232            USART_InitStruct->USART_CPHA = USART_CPHA_1Edge;
   \   00000022   0021               MOVS     R1,#+0
   \   00000024   4182               STRH     R1,[R0, #+18]
    233            USART_InitStruct->USART_LastBit = USART_LastBit_Disable;
   \   00000026   0021               MOVS     R1,#+0
   \   00000028   8182               STRH     R1,[R0, #+20]
    234          }
   \   0000002A   7047               BX       LR               ;; return
    235          
    236          /*******************************************************************************
    237          * Function Name  : USART_Cmd
    238          * Description    : Enables or disables the specified USART peripheral.
    239          * Input          : - USARTx: where x can be 1, 2 or 3 to select the USART
    240          *                    peripheral.
    241          *                : - NewState: new state of the USARTx peripheral.
    242          *                    This parameter can be: ENABLE or DISABLE.
    243          * Output         : None
    244          * Return         : None
    245          *******************************************************************************/

⌨️ 快捷键说明

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