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

📄 probe_rs232c.lst

📁 针对STM32F103的UCOS移植
💻 LST
📖 第 1 页 / 共 4 页
字号:
    144          {
   \                     ProbeRS232_InitTarget:
   \   00000000   70B5               PUSH     {R4-R6,LR}
   \   00000002   88B0               SUB      SP,SP,#+32
   \   00000004   0400               MOVS     R4,R0
    145              GPIO_InitTypeDef   gpio_init;
    146              USART_InitTypeDef  usart_init;
    147              NVIC_InitTypeDef   nvic_init;
    148          
    149          
    150          #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_1)
    151              RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
   \   00000006   0121               MOVS     R1,#+1
   \   00000008   8803               LSLS     R0,R1,#+14
   \   0000000A   ........           _BLF     RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
    152          
    153                                                                          /* ------------------- SETUP USART1 GPIO ------------------ */
    154          #if (PROBE_RS232_UART_1_REMAP > 0)
    155              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
    156              GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
    157          
    158                                                                          /* Configure GPIOB.6 as push-pull                           */
    159              gpio_init.GPIO_Pin   = GPIO_Pin_6;
    160              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
    161              gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
    162              GPIO_Init(GPIOD, &gpio_init);
    163          
    164                                                                          /* Configure GPIOB.7 as input floating                      */
    165              gpio_init.GPIO_Pin   = GPIO_Pin_7;
    166              gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
    167              GPIO_Init(GPIOB, &gpio_init);
    168          #else
    169              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
   \   0000000E   0121               MOVS     R1,#+1
   \   00000010   0420               MOVS     R0,#+4
   \   00000012   ........           _BLF     RCC_APB2PeriphClockCmd,??RCC_APB2PeriphClockCmd??rT
    170          
    171                                                                          /* Configure GPIOA.9 as push-pull                           */
    172              gpio_init.GPIO_Pin   = GPIO_Pin_9;
   \   00000016   5FF40075           MOVS     R5,#+512
   \   0000001A   ADF80050           STRH     R5,[SP, #+0]
    173              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
   \   0000001E   0320               MOVS     R0,#+3
   \   00000020   8DF80200           STRB     R0,[SP, #+2]
    174              gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
   \   00000024   1820               MOVS     R0,#+24
   \   00000026   8DF80300           STRB     R0,[SP, #+3]
    175              GPIO_Init(GPIOA, &gpio_init);
   \   0000002A   1E4E               LDR.N    R6,??ProbeRS232_InitTarget_0  ;; 0x40010800
   \   0000002C   6946               MOV      R1,SP
   \   0000002E   3000               MOVS     R0,R6
   \   00000030   ........           _BLF     GPIO_Init,??GPIO_Init??rT
    176          
    177                                                                          /* Configure GPIOA.10 as input floating                     */
    178              gpio_init.GPIO_Pin   = GPIO_Pin_10;
   \   00000034   6800               LSLS     R0,R5,#+1
   \   00000036   ADF80000           STRH     R0,[SP, #+0]
    179              gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
   \   0000003A   0420               MOVS     R0,#+4
   \   0000003C   8DF80300           STRB     R0,[SP, #+3]
    180              GPIO_Init(GPIOA, &gpio_init);
   \   00000040   6946               MOV      R1,SP
   \   00000042   3000               MOVS     R0,R6
   \   00000044   ........           _BLF     GPIO_Init,??GPIO_Init??rT
    181          #endif
    182          
    183                                                                          /* -------------------- SETUP USART1 ---------------------- */
    184              usart_init.USART_BaudRate            = baud_rate;
   \   00000048   0294               STR      R4,[SP, #+8]
    185              usart_init.USART_WordLength          = USART_WordLength_8b;
   \   0000004A   0024               MOVS     R4,#+0
   \   0000004C   ADF80C40           STRH     R4,[SP, #+12]
    186              usart_init.USART_StopBits            = USART_StopBits_1;
   \   00000050   ADF80E40           STRH     R4,[SP, #+14]
    187              usart_init.USART_Parity              = USART_Parity_No ;
   \   00000054   ADF81040           STRH     R4,[SP, #+16]
    188              usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
   \   00000058   ADF81240           STRH     R4,[SP, #+18]
    189              usart_init.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
   \   0000005C   0C20               MOVS     R0,#+12
   \   0000005E   ADF81400           STRH     R0,[SP, #+20]
    190              usart_init.USART_Clock               = USART_Clock_Disable;
   \   00000062   ADF81640           STRH     R4,[SP, #+22]
    191              usart_init.USART_CPOL                = USART_CPOL_Low;
   \   00000066   ADF81840           STRH     R4,[SP, #+24]
    192              usart_init.USART_CPHA                = USART_CPHA_2Edge;
   \   0000006A   ADF81A50           STRH     R5,[SP, #+26]
    193              usart_init.USART_LastBit             = USART_LastBit_Disable;
   \   0000006E   ADF81C40           STRH     R4,[SP, #+28]
    194          
    195              USART_Init(USART1, &usart_init);
   \   00000072   ....               LDR.N    R5,??DataTable12  ;; 0x40013800
   \   00000074   02A9               ADD      R1,SP,#+8
   \   00000076   2800               MOVS     R0,R5
   \   00000078   ........           _BLF     USART_Init,??USART_Init??rT
    196              USART_Cmd(USART1, ENABLE);
   \   0000007C   0121               MOVS     R1,#+1
   \   0000007E   2800               MOVS     R0,R5
   \   00000080   ........           _BLF     USART_Cmd,??USART_Cmd??rT
    197          
    198              nvic_init.NVIC_IRQChannel                   = USART1_IRQChannel;
   \   00000084   2520               MOVS     R0,#+37
   \   00000086   8DF80400           STRB     R0,[SP, #+4]
    199              nvic_init.NVIC_IRQChannelPreemptionPriority = 0;
   \   0000008A   2000               MOVS     R0,R4
   \   0000008C   8DF80500           STRB     R0,[SP, #+5]
    200              nvic_init.NVIC_IRQChannelSubPriority        = 0;
   \   00000090   8DF80640           STRB     R4,[SP, #+6]
    201              nvic_init.NVIC_IRQChannelCmd                = ENABLE;
   \   00000094   0120               MOVS     R0,#+1
   \   00000096   8DF80700           STRB     R0,[SP, #+7]
    202              NVIC_Init(&nvic_init);
   \   0000009A   01A8               ADD      R0,SP,#+4
   \   0000009C   ........           _BLF     NVIC_Init,??NVIC_Init??rT
    203          #endif
    204          
    205          #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_2)
    206              RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
    207          
    208                                                                          /* ------------------- SETUP USART2 GPIO ------------------ */
    209          #if (PROBE_RS232_UART_2_REMAP > 0)
    210              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
    211              GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);
    212          
    213                                                                          /* Configure GPIOD.4 as push-pull                           */
    214              gpio_init.GPIO_Pin   = GPIO_Pin_4;
    215              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
    216              gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
    217              GPIO_Init(GPIOD, &gpio_init);
    218          
    219                                                                          /* Configure GPIOD.3 as input floating                      */
    220              gpio_init.GPIO_Pin   = GPIO_Pin_3;
    221              gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
    222              GPIO_Init(GPIOD, &gpio_init);
    223          #else
    224              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    225          
    226                                                                          /* Configure GPIOA.2 as push-pull                           */
    227              gpio_init.GPIO_Pin   = GPIO_Pin_2;
    228              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
    229              gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
    230              GPIO_Init(GPIOA, &gpio_init);
    231          
    232                                                                          /* Configure GPIOA.3 as input floating                      */
    233              gpio_init.GPIO_Pin   = GPIO_Pin_3;
    234              gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
    235              GPIO_Init(GPIOA, &gpio_init);
    236          #endif
    237          
    238          
    239          
    240                                                                          /* -------------------- SETUP USART2 ---------------------- */
    241              usart_init.USART_BaudRate            = baud_rate;
    242              usart_init.USART_WordLength          = USART_WordLength_8b;
    243              usart_init.USART_StopBits            = USART_StopBits_1;
    244              usart_init.USART_Parity              = USART_Parity_No ;
    245              usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    246              usart_init.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
    247              usart_init.USART_Clock               = USART_Clock_Disable;
    248              usart_init.USART_CPOL                = USART_CPOL_Low;
    249              usart_init.USART_CPHA                = USART_CPHA_2Edge;
    250              usart_init.USART_LastBit             = USART_LastBit_Disable;
    251          
    252              USART_Init(USART2, &usart_init);
    253              USART_Cmd(USART2, ENABLE);
    254          
    255              nvic_init.NVIC_IRQChannel                   = USART2_IRQChannel;
    256              nvic_init.NVIC_IRQChannelPreemptionPriority = 0;
    257              nvic_init.NVIC_IRQChannelSubPriority        = 0;
    258              nvic_init.NVIC_IRQChannelCmd                = ENABLE;
    259              NVIC_Init(&nvic_init);
    260          #endif
    261          
    262          #if (PROBE_RS232_COMM_SEL == PROBE_RS232_UART_3)
    263              RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
    264          
    265                                                                          /* ------------------- SETUP USART3 GPIO ------------------ */
    266          #if (PROBE_RS232_UART_3_REMAP_PARTIAL > 0)
    267              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);
    268              GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
    269          
    270                                                                          /* Configure GPIOC.10 as push-pull                          */
    271              gpio_init.GPIO_Pin   = GPIO_Pin_10;
    272              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
    273              gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
    274              GPIO_Init(GPIOC, &gpio_init);
    275          
    276                                                                          /* Configure GPIOC.11 as input floating                     */
    277              gpio_init.GPIO_Pin   = GPIO_Pin_11;
    278              gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
    279              GPIO_Init(GPIOC, &gpio_init);
    280          
    281          #elif (PROBE_RS232_UART_3_REMAP_FULL > 0)
    282          
    283              RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
    284              GPIO_PinRemapConfig(GPIO_FullRemap_USART3, ENABLE);
    285          
    286                                                                          /* Configure GPIOD.8 as push-pull                           */
    287              gpio_init.GPIO_Pin   = GPIO_Pin_8;
    288              gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
    289              gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
    290              GPIO_Init(GPIOD, &gpio_init);
    291          
    292                                                                          /* Configure GPIOD.9 as input floating                      */

⌨️ 快捷键说明

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