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

📄 gpio.lst

📁 STR71x平台下实现ADC(数模转换)编程
💻 LST
📖 第 1 页 / 共 2 页
字号:
   \   00000108   B830C0E1           STRH        R3,[R0, #+0x8]
   \   0000010C   1E0000EA           B           ??GPIO_Config_1
     36                break;
     37              case GPIO_OUT_PP:
     38                GPIOx->PC0|=Port_Pins;
   \                     ??GPIO_Config_7:
   \   00000110   B030D0E1           LDRH        R3,[R0, #+0]
   \   00000114   033091E1           ORRS        R3,R1,R3
   \   00000118   B030C0E1           STRH        R3,[R0, #+0]
     39                GPIOx->PC1&=~Port_Pins;
   \   0000011C   B430D0E1           LDRH        R3,[R0, #+0x4]
   \   00000120   01C0E0E1           MVN         R12,R1
   \   00000124   03301CE0           ANDS        R3,R12,R3
   \   00000128   B430C0E1           STRH        R3,[R0, #+0x4]
     40                GPIOx->PC2|=Port_Pins;
   \   0000012C   B830D0E1           LDRH        R3,[R0, #+0x8]
   \   00000130   033091E1           ORRS        R3,R1,R3
   \   00000134   B830C0E1           STRH        R3,[R0, #+0x8]
   \   00000138   130000EA           B           ??GPIO_Config_1
     41                break;
     42              case GPIO_AF_OD:
     43                GPIOx->PC0&=~Port_Pins;
   \                     ??GPIO_Config_8:
   \   0000013C   B030D0E1           LDRH        R3,[R0, #+0]
   \   00000140   01C0E0E1           MVN         R12,R1
   \   00000144   03301CE0           ANDS        R3,R12,R3
   \   00000148   B030C0E1           STRH        R3,[R0, #+0]
     44                GPIOx->PC1|=Port_Pins;
   \   0000014C   B430D0E1           LDRH        R3,[R0, #+0x4]
   \   00000150   033091E1           ORRS        R3,R1,R3
   \   00000154   B430C0E1           STRH        R3,[R0, #+0x4]
     45                GPIOx->PC2|=Port_Pins;
   \   00000158   B830D0E1           LDRH        R3,[R0, #+0x8]
   \   0000015C   033091E1           ORRS        R3,R1,R3
   \   00000160   B830C0E1           STRH        R3,[R0, #+0x8]
   \   00000164   080000EA           B           ??GPIO_Config_1
     46                break;
     47              case GPIO_AF_PP:
     48                GPIOx->PC0|=Port_Pins;
   \                     ??GPIO_Config_9:
   \   00000168   B030D0E1           LDRH        R3,[R0, #+0]
   \   0000016C   033091E1           ORRS        R3,R1,R3
   \   00000170   B030C0E1           STRH        R3,[R0, #+0]
     49                GPIOx->PC1|=Port_Pins;
   \   00000174   B430D0E1           LDRH        R3,[R0, #+0x4]
   \   00000178   033091E1           ORRS        R3,R1,R3
   \   0000017C   B430C0E1           STRH        R3,[R0, #+0x4]
     50                GPIOx->PC2|=Port_Pins;
   \   00000180   B830D0E1           LDRH        R3,[R0, #+0x8]
   \   00000184   033091E1           ORRS        R3,R1,R3
   \   00000188   B830C0E1           STRH        R3,[R0, #+0x8]
     51                break;
     52            }
     53          }
   \                     ??GPIO_Config_1:
   \   0000018C   1EFF2FE1           BX          LR                 ;; return
     54          
     55          /*******************************************************************************
     56          * 说明:GPIO_BitWrite函数,置位或复位所选端口引脚
     57          * 参数:GPIOx (x=0,1,2)为所选端口,Port_Pin为端口引脚,Port_Val为端口位值
     58          * 返回值:无
     59          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     60          void GPIO_BitWrite(GPIO_TypeDef *GPIOx, u8 Port_Pin, u8 Port_Val) {
     61            if (Port_Val&0x01) GPIOx->PD |= 1<<Port_Pin; else GPIOx->PD &= ~(1<<Port_Pin);
   \                     GPIO_BitWrite:
   \   00000000   010012E3           TST         R2,#+0x1
   \   00000004   0500000A           BEQ         ??GPIO_BitWrite_0
   \   00000008   BC30D0E1           LDRH        R3,[R0, #+0xC]
   \   0000000C   01C0A0E3           MOV         R12,#+0x1
   \   00000010   1CC1B0E1           MOVS        R12,R12, LSL R1
   \   00000014   03309CE1           ORRS        R3,R12,R3
   \   00000018   BC30C0E1           STRH        R3,[R0, #+0xC]
   \   0000001C   050000EA           B           ??GPIO_BitWrite_1
   \                     ??GPIO_BitWrite_0:
   \   00000020   BC30D0E1           LDRH        R3,[R0, #+0xC]
   \   00000024   01C0A0E3           MOV         R12,#+0x1
   \   00000028   1CC1B0E1           MOVS        R12,R12, LSL R1
   \   0000002C   0CC0E0E1           MVN         R12,R12
   \   00000030   03301CE0           ANDS        R3,R12,R3
   \   00000034   BC30C0E1           STRH        R3,[R0, #+0xC]
     62          }
   \                     ??GPIO_BitWrite_1:
   \   00000038   1EFF2FE1           BX          LR                 ;; return
     63          
     64          /*******************************************************************************
     65          * 说明:GPIO_ByteWrite函数,向选中的PD寄存器写入一个字节
     66          * 参数:GPIOx (x=0,1,2)为所选端口,Port_Byte为GPIO高或低字节,Port_Val为字节值
     67          * 返回值:无
     68          *******************************************************************************/

   \                                 In segment CODE, align 4, keep-with-next
     69          void GPIO_ByteWrite(GPIO_TypeDef *GPIOx, u8 Port_Byte, u8 Port_Val)
     70          {
     71            GPIOx->PD = Port_Byte ? (GPIOx->PD&0x00FF) | ((u16)Port_Val<<8)
     72                                  : (GPIOx->PD&0xFF00) | Port_Val;
   \                     GPIO_ByteWrite:
   \   00000000   000051E3           CMP         R1,#+0
   \   00000004   0400000A           BEQ         ??GPIO_ByteWrite_0
   \   00000008   BC30D0E1           LDRH        R3,[R0, #+0xC]
   \   0000000C   FF3013E2           ANDS        R3,R3,#+0xFF       ;; Zero extend
   \   00000010   02C0A0E1           MOV         R12,R2
   \   00000014   0C3493E1           ORRS        R3,R3,R12, LSL #+0x8
   \   00000018   030000EA           B           ??GPIO_ByteWrite_1
   \                     ??GPIO_ByteWrite_0:
   \   0000001C   BC30D0E1           LDRH        R3,[R0, #+0xC]
   \   00000020   FF3C13E2           ANDS        R3,R3,#+0xFF00
   \   00000024   02C0A0E1           MOV         R12,R2
   \   00000028   03309CE1           ORRS        R3,R12,R3
   \                     ??GPIO_ByteWrite_1:
   \   0000002C   BC30C0E1           STRH        R3,[R0, #+0xC]
     73          }
   \   00000030   1EFF2FE1           BX          LR                 ;; return
     74          

   Maximum stack usage in bytes:

     Function       CSTACK
     --------       ------
     GPIO_BitWrite      0
     GPIO_ByteWrite     0
     GPIO_Config        0


   Segment part sizes:

     Function/Label Bytes
     -------------- -----
     GPIO_Config     400
     GPIO_BitWrite    60
     GPIO_ByteWrite   52
      Others          12

 
 524 bytes in segment CODE
 
 512 bytes of CODE memory (+ 12 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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