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

📄 probe_rs232c.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 2 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\probe_rs232c.o --depend=.\rvmdk\probe_rs232c.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32\probe_rs232c.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  ProbeRS232_InitTarget PROC
;;;143    void  ProbeRS232_InitTarget (CPU_INT32U baud_rate)
;;;144    {
000000  b570              PUSH     {r4-r6,lr}
000002  b088              SUB      sp,sp,#0x20
000004  4604              MOV      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);
000006  2101              MOVS     r1,#1
000008  0388              LSLS     r0,r1,#14
00000a  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;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);
00000e  2101              MOVS     r1,#1
000010  2004              MOVS     r0,#4
000012  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;170    
;;;171                                                                    /* Configure GPIOA.9 as push-pull                           */
;;;172        gpio_init.GPIO_Pin   = GPIO_Pin_9;
000016  f44ff44f          MOV      r5,#0x200
00001a  f8adf8ad          STRH     r5,[sp,#0x1c]
;;;173        gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
00001e  2003              MOVS     r0,#3
000020  f88df88d          STRB     r0,[sp,#0x1e]
;;;174        gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
000024  2018              MOVS     r0,#0x18
000026  f88df88d          STRB     r0,[sp,#0x1f]
;;;175        GPIO_Init(GPIOA, &gpio_init);
00002a  4e43              LDR      r6,|L1.312|
00002c  a907              ADD      r1,sp,#0x1c
00002e  4630              MOV      r0,r6
000030  f7fff7ff          BL       GPIO_Init
;;;176    
;;;177                                                                    /* Configure GPIOA.10 as input floating                     */
;;;178        gpio_init.GPIO_Pin   = GPIO_Pin_10;
000034  0068              LSLS     r0,r5,#1
000036  f8adf8ad          STRH     r0,[sp,#0x1c]
;;;179        gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
00003a  2004              MOVS     r0,#4
00003c  f88df88d          STRB     r0,[sp,#0x1f]
;;;180        GPIO_Init(GPIOA, &gpio_init);
000040  a907              ADD      r1,sp,#0x1c
000042  4630              MOV      r0,r6
000044  f7fff7ff          BL       GPIO_Init
;;;181    #endif
;;;182    
;;;183                                                                    /* -------------------- SETUP USART1 ---------------------- */
;;;184        usart_init.USART_BaudRate            = baud_rate;
000048  9401              STR      r4,[sp,#4]
;;;185        usart_init.USART_WordLength          = USART_WordLength_8b;
00004a  2400              MOVS     r4,#0
00004c  f8adf8ad          STRH     r4,[sp,#8]
;;;186        usart_init.USART_StopBits            = USART_StopBits_1;
000050  f8adf8ad          STRH     r4,[sp,#0xa]
;;;187        usart_init.USART_Parity              = USART_Parity_No ;
000054  f8adf8ad          STRH     r4,[sp,#0xc]
;;;188        usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
000058  f8adf8ad          STRH     r4,[sp,#0xe]
;;;189        usart_init.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
00005c  200c              MOVS     r0,#0xc
00005e  f8adf8ad          STRH     r0,[sp,#0x10]
;;;190        usart_init.USART_Clock               = USART_Clock_Disable;
000062  f8adf8ad          STRH     r4,[sp,#0x12]
;;;191        usart_init.USART_CPOL                = USART_CPOL_Low;
000066  f8adf8ad          STRH     r4,[sp,#0x14]
;;;192        usart_init.USART_CPHA                = USART_CPHA_2Edge;
00006a  f8adf8ad          STRH     r5,[sp,#0x16]
;;;193        usart_init.USART_LastBit             = USART_LastBit_Disable;
00006e  f8adf8ad          STRH     r4,[sp,#0x18]
;;;194    
;;;195        USART_Init(USART1, &usart_init);
000072  4d32              LDR      r5,|L1.316|
000074  a901              ADD      r1,sp,#4
000076  4628              MOV      r0,r5
000078  f7fff7ff          BL       USART_Init
;;;196        USART_Cmd(USART1, ENABLE);
00007c  2101              MOVS     r1,#1
00007e  4628              MOV      r0,r5
000080  f7fff7ff          BL       USART_Cmd
;;;197    
;;;198        nvic_init.NVIC_IRQChannel                   = USART1_IRQChannel;
000084  2025              MOVS     r0,#0x25
000086  f88df88d          STRB     r0,[sp,#0]
;;;199        nvic_init.NVIC_IRQChannelPreemptionPriority = 0;
00008a  f88df88d          STRB     r4,[sp,#1]
;;;200        nvic_init.NVIC_IRQChannelSubPriority        = 0;
00008e  f88df88d          STRB     r4,[sp,#2]
;;;201        nvic_init.NVIC_IRQChannelCmd                = ENABLE;
000092  2001              MOVS     r0,#1
000094  f88df88d          STRB     r0,[sp,#3]
;;;202        NVIC_Init(&nvic_init);
000098  4668              MOV      r0,sp
00009a  f7fff7ff          BL       NVIC_Init
;;;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                      */
;;;293        gpio_init.GPIO_Pin   = GPIO_Pin_9;
;;;294        gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
;;;295        GPIO_Init(GPIOD, &gpio_init);
;;;296    
;;;297    #else
;;;298    
;;;299        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
;;;300    
;;;301                                                                    /* Configure GPIOB.10 as push-pull                          */
;;;302        gpio_init.GPIO_Pin   = GPIO_Pin_10;
;;;303        gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
;;;304        gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
;;;305        GPIO_Init(GPIOB, &gpio_init);
;;;306    
;;;307                                                                    /* Configure GPIOB.11 as input floating                     */
;;;308        gpio_init.GPIO_Pin   = GPIO_Pin_11;
;;;309        gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
;;;310        GPIO_Init(GPIOB, &gpio_init);
;;;311    #endif
;;;312    
;;;313    
;;;314    
;;;315                                                                    /* -------------------- SETUP USART3 ---------------------- */
;;;316        usart_init.USART_BaudRate            = baud_rate;
;;;317        usart_init.USART_WordLength          = USART_WordLength_8b;
;;;318        usart_init.USART_StopBits            = USART_StopBits_1;
;;;319        usart_init.USART_Parity              = USART_Parity_No ;
;;;320        usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

⌨️ 快捷键说明

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