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

📄 bsp.txt

📁 stm32 ucos 精简移殖版本 不需作任何修改直接便可运行。包含串口 定时器
💻 TXT
📖 第 1 页 / 共 3 页
字号:
;;;551    
;;;552    
;;;553        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
00015e  2101              MOVS     r1,#1
000160  2008              MOVS     r0,#8
000162  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;554    
;;;555        gpio_init.GPIO_Pin   = BSP_GPIOC_LED1 | BSP_GPIOC_LED2 ;
000166  f44ff44f          MOV      r0,#0x300
00016a  f8adf8ad          STRH     r0,[sp,#0]
;;;556        gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
00016e  2003              MOVS     r0,#3
000170  f88df88d          STRB     r0,[sp,#2]
;;;557        gpio_init.GPIO_Mode  = GPIO_Mode_Out_PP;
000174  2010              MOVS     r0,#0x10
000176  f88df88d          STRB     r0,[sp,#3]
;;;558        GPIO_Init(GPIOB, &gpio_init);
00017a  4669              MOV      r1,sp
00017c  4890              LDR      r0,|L1.960|
00017e  f7fff7ff          BL       GPIO_Init
;;;559    }
000182  bd08              POP      {r3,pc}
;;;560    
                          ENDP

                  BSP_ADC_Init PROC
;;;372    static  void  BSP_ADC_Init (void)
;;;373    {
000184  b530              PUSH     {r4,r5,lr}
000186  b087              SUB      sp,sp,#0x1c
;;;374        ADC_InitTypeDef   adc_init;
;;;375        GPIO_InitTypeDef  gpio_init;
;;;376    
;;;377    
;;;378        RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);
000188  2101              MOVS     r1,#1
00018a  0248              LSLS     r0,r1,#9
00018c  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;379        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
000190  2101              MOVS     r1,#1
000192  2008              MOVS     r0,#8
000194  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;380    
;;;381        GPIO_StructInit(&gpio_init);
000198  a801              ADD      r0,sp,#4
00019a  f7fff7ff          BL       GPIO_StructInit
;;;382        gpio_init.GPIO_Pin  = GPIO_Pin_0;
00019e  2501              MOVS     r5,#1
0001a0  f8adf8ad          STRH     r5,[sp,#4]
;;;383        gpio_init.GPIO_Mode = GPIO_Mode_AIN;
0001a4  2400              MOVS     r4,#0
0001a6  f88df88d          STRB     r4,[sp,#7]
;;;384        GPIO_Init(GPIOB, &gpio_init);
0001aa  a901              ADD      r1,sp,#4
0001ac  4884              LDR      r0,|L1.960|
0001ae  f7fff7ff          BL       GPIO_Init
;;;385    
;;;386        adc_init.ADC_Mode               = ADC_Mode_Independent;
0001b2  9402              STR      r4,[sp,#8]
;;;387        adc_init.ADC_ScanConvMode       = DISABLE;
0001b4  f88df88d          STRB     r4,[sp,#0xc]
;;;388        adc_init.ADC_ContinuousConvMode = ENABLE;
0001b8  f88df88d          STRB     r5,[sp,#0xd]
;;;389        adc_init.ADC_ExternalTrigConv   = ADC_ExternalTrigConv_None;
0001bc  f44ff44f          MOV      r0,#0xe0000
0001c0  9004              STR      r0,[sp,#0x10]
;;;390        adc_init.ADC_DataAlign          = ADC_DataAlign_Right;
0001c2  9405              STR      r4,[sp,#0x14]
;;;391        adc_init.ADC_NbrOfChannel       = 1;
0001c4  f88df88d          STRB     r5,[sp,#0x18]
;;;392        ADC_Init(ADC1, &adc_init);
0001c8  4c7e              LDR      r4,|L1.964|
0001ca  a902              ADD      r1,sp,#8
0001cc  4620              MOV      r0,r4
0001ce  f7fff7ff          BL       ADC_Init
;;;393    
;;;394        ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_13Cycles5);
0001d2  2302              MOVS     r3,#2
0001d4  2201              MOVS     r2,#1
0001d6  2108              MOVS     r1,#8
0001d8  4620              MOV      r0,r4
0001da  f7fff7ff          BL       ADC_RegularChannelConfig
;;;395        ADC_Cmd(ADC1, ENABLE);
0001de  2101              MOVS     r1,#1
0001e0  4620              MOV      r0,r4
0001e2  f7fff7ff          BL       ADC_Cmd
;;;396        ADC_SoftwareStartConvCmd(ADC1, ENABLE);
0001e6  2101              MOVS     r1,#1
0001e8  4620              MOV      r0,r4
0001ea  f7fff7ff          BL       ADC_SoftwareStartConvCmd
;;;397    }
0001ee  b007              ADD      sp,sp,#0x1c
0001f0  bd30              POP      {r4,r5,pc}
;;;398    
                          ENDP

                  BSP_Init PROC
;;;197    void  BSP_Init (void)
;;;198    {
0001f2  b51f              PUSH     {r0-r4,lr}
;;;199      USART_InitTypeDef USART_InitStructure;
;;;200      /* USARTx configuration ------------------------------------------------------*/
;;;201      /* USARTx configured as follow:
;;;202            - BaudRate = 115200 baud  
;;;203            - Word Length = 8 Bits
;;;204            - One Stop Bit
;;;205            - No parity
;;;206            - Hardware flow control disabled (RTS and CTS signals)
;;;207            - Receive and transmit enabled
;;;208      */
;;;209      USART_InitStructure.USART_BaudRate = 9600;
0001f4  f44ff44f          MOV      r0,#0x2580
0001f8  9000              STR      r0,[sp,#0]
;;;210      USART_InitStructure.USART_WordLength = USART_WordLength_8b;
0001fa  2000              MOVS     r0,#0
0001fc  f8adf8ad          STRH     r0,[sp,#4]
;;;211      USART_InitStructure.USART_StopBits = USART_StopBits_1;
000200  f8adf8ad          STRH     r0,[sp,#6]
;;;212      USART_InitStructure.USART_Parity = USART_Parity_No ;
000204  f8adf8ad          STRH     r0,[sp,#8]
;;;213      USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
000208  f8adf8ad          STRH     r0,[sp,#0xc]
;;;214      USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
00020c  200c              MOVS     r0,#0xc
00020e  f8adf8ad          STRH     r0,[sp,#0xa]
;;;215    
;;;216        RCC_DeInit();
000212  f7fff7ff          BL       RCC_DeInit
;;;217        RCC_HSEConfig(RCC_HSE_ON);
000216  f44ff44f          MOV      r4,#0x10000
00021a  4620              MOV      r0,r4
00021c  f7fff7ff          BL       RCC_HSEConfig
;;;218        RCC_WaitForHSEStartUp();
000220  f7fff7ff          BL       RCC_WaitForHSEStartUp
;;;219    
;;;220        RCC_HCLKConfig(RCC_SYSCLK_Div1);
000224  2000              MOVS     r0,#0
000226  f7fff7ff          BL       RCC_HCLKConfig
;;;221        RCC_PCLK2Config(RCC_HCLK_Div1);
00022a  2000              MOVS     r0,#0
00022c  f7fff7ff          BL       RCC_PCLK2Config
;;;222        RCC_PCLK1Config(RCC_HCLK_Div2);
000230  11a0              ASRS     r0,r4,#6
000232  f7fff7ff          BL       RCC_PCLK1Config
;;;223        RCC_ADCCLKConfig(RCC_PCLK2_Div6);
000236  1060              ASRS     r0,r4,#1
000238  f7fff7ff          BL       RCC_ADCCLKConfig
;;;224    
;;;225    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
00023c  2101              MOVS     r1,#1
00023e  0388              LSLS     r0,r1,#14
000240  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;226    	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
000244  2101              MOVS     r1,#1
000246  2004              MOVS     r0,#4
000248  f7fff7ff          BL       RCC_APB2PeriphClockCmd
;;;227    
;;;228        FLASH_SetLatency(FLASH_Latency_2);
00024c  2002              MOVS     r0,#2
00024e  f7fff7ff          BL       FLASH_SetLatency
;;;229        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
000252  2010              MOVS     r0,#0x10
000254  f7fff7ff          BL       FLASH_PrefetchBufferCmd
;;;230    
;;;231        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
000258  f44ff44f          MOV      r1,#0x1c0000
00025c  4620              MOV      r0,r4
00025e  f7fff7ff          BL       RCC_PLLConfig
;;;232        RCC_PLLCmd(ENABLE);
000262  2001              MOVS     r0,#1
000264  f7fff7ff          BL       RCC_PLLCmd
                  |L1.616|
;;;233    
;;;234        while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) {
000268  2039              MOVS     r0,#0x39
00026a  f7fff7ff          BL       RCC_GetFlagStatus
00026e  2800              CMP      r0,#0
000270  d0fa              BEQ      |L1.616|
;;;235            ;
;;;236        }
;;;237    
;;;238        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000272  2002              MOVS     r0,#2
000274  f7fff7ff          BL       RCC_SYSCLKConfig
                  |L1.632|
;;;239    
;;;240        while (RCC_GetSYSCLKSource() != 0x08) {
000278  f7fff7ff          BL       RCC_GetSYSCLKSource
00027c  2808              CMP      r0,#8
00027e  d1fb              BNE      |L1.632|
;;;241            ;
;;;242        }
;;;243    
;;;244    
;;;245    /*
;;;246    SCU_AHBPeriphClockConfig(__VIC,ENABLE);
;;;247    
;;;248    //VIC_DeInit();
;;;249    VIC_Config(UART1_ITLine, VIC_IRQ, 15);
;;;250    VIC_ITCmd(UART1_ITLine, ENABLE);
;;;251    */
;;;252    
;;;253    
;;;254        BSP_ADC_Init();                                             /* Initialize the I/Os for the ADC      controls.       */
000280  f7fff7ff          BL       BSP_ADC_Init
;;;255        BSP_LED_Init();                                             /* Initialize the I/Os for the LED      controls.       */
000284  f7fff7ff          BL       BSP_LED_Init
;;;256    	BSP_PB_Init();                                              		/* Initialize the I/Os for the PB       control.        */
000288  f7fff7ff          BL       BSP_PB_Init
;;;257       // BSP_Joystick_Init();                                        /* Initialize the I/Os for the Joystick control. 		 */
;;;258    	GPIO_Configuration();
00028c  f7fff7ff          BL       GPIO_Configuration
;;;259    	USART_Init(USART1,&USART_InitStructure); 
000290  4c47              LDR      r4,|L1.944|
000292  4669              MOV      r1,sp
000294  4620              MOV      r0,r4
000296  f7fff7ff          BL       USART_Init
;;;260    	USART_Cmd(USART1, ENABLE);   
00029a  2101              MOVS     r1,#1
00029c  4620              MOV      r0,r4
00029e  f7fff7ff          BL       USART_Cmd
;;;261    	UART2_int();
0002a2  f7fff7ff          BL       UART2_int
;;;262    }
0002a6  bd1f              POP      {r0-r4,pc}
;;;263    
                          ENDP

                  BSP_CPU_ClkFreq PROC
;;;305    CPU_INT32U  BSP_CPU_ClkFreq (void)
;;;306    {
0002a8  b500              PUSH     {lr}
0002aa  b085              SUB      sp,sp,#0x14
;;;307        RCC_ClocksTypeDef  rcc_clocks;
;;;308    
;;;309    
;;;310        RCC_GetClocksFreq(&rcc_clocks);
0002ac  4668              MOV      r0,sp
0002ae  f7fff7ff          BL       RCC_GetClocksFreq
;;;311    
;;;312        return ((CPU_INT32U)rcc_clocks.HCLK_Frequency);
0002b2  9801              LDR      r0,[sp,#4]
;;;313    }
0002b4  b005              ADD      sp,sp,#0x14
0002b6  bd00              POP      {pc}
;;;314    
                          ENDP

                  OS_CPU_SysTickClkFreq PROC
;;;343    
;;;344        freq = BSP_CPU_ClkFreq();
0002b8  e7fe              B        BSP_CPU_ClkFreq
;;;345        return (freq);
;;;346    }

⌨️ 快捷键说明

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