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

📄 gpio.htm

📁 arm st912 GPIO 操作实例
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\obj\GPIO.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\obj\GPIO.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, RVCT3.1 [Build 919]: Last Updated: Thu Jun 19 16:59:45 2008
<BR><P>
<H3>Maximum Stack Usage =         72 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; LCD_Clr &rArr; LCD_SetCursor &rArr; LCD_INPUT
<P>
<H3>
Functions with no stack information
</H3><UL>
 <LI><a href="#[dc32e8]">Reset_Handler</a>
 <LI><a href="#[dc3330]">__user_initial_stackheap</a>
 <LI><a href="#[dc35b8]">UndefHandler</a>
 <LI><a href="#[dc3570]">SWIHandler</a>
 <LI><a href="#[dc3528]">PAbtHandler</a>
 <LI><a href="#[dc34e0]">DAbtHandler</a>
 <LI><a href="#[dc3498]">IRQHandler</a>
 <LI><a href="#[dc3450]">FIQHandler</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[dc35b8]">UndefHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[dc35b8]">UndefHandler</a><BR>
 <LI><a href="#[dc3570]">SWIHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[dc3570]">SWIHandler</a><BR>
 <LI><a href="#[dc3528]">PAbtHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[dc3528]">PAbtHandler</a><BR>
 <LI><a href="#[dc34e0]">DAbtHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[dc34e0]">DAbtHandler</a><BR>
 <LI><a href="#[dc3498]">IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[dc3498]">IRQHandler</a><BR>
 <LI><a href="#[dc3450]">FIQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[dc3450]">FIQHandler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[dc32e8]">Reset_Handler</a>
 <LI><a href="#[dc35b8]">UndefHandler</a>
 <LI><a href="#[dc3570]">SWIHandler</a>
 <LI><a href="#[dc3528]">PAbtHandler</a>
 <LI><a href="#[dc34e0]">DAbtHandler</a>
 <LI><a href="#[dc3498]">IRQHandler</a>
 <LI><a href="#[dc3450]">FIQHandler</a>
 <LI><a href="#[db66e0]">__main</a>
 <LI><a href="#[12629e0]">__ARM_get_argv</a>
 <LI><a href="#[dbe298]">DefaultVector_Handler</a>
 <LI><a href="#[dbdb00]">WDG_IRQHandler</a>
 <LI><a href="#[dbde18]">SW_IRQHandler</a>
 <LI><a href="#[dbe3b8]">ARMRX_IRQHandler</a>
 <LI><a href="#[dbe370]">ARMTX_IRQHandler</a>
 <LI><a href="#[dbddd0]">TIM0_IRQHandler</a>
 <LI><a href="#[dbdd88]">TIM1_IRQHandler</a>
 <LI><a href="#[dbdd40]">TIM2_IRQHandler</a>
 <LI><a href="#[dbdcf8]">TIM3_IRQHandler</a>
 <LI><a href="#[dbdbd8]">USBHP_IRQHandler</a>
 <LI><a href="#[dbdb90]">USBLP_IRQHandler</a>
 <LI><a href="#[dbdef0]">SCU_IRQHandler</a>
 <LI><a href="#[dbe250]">ENET_IRQHandler</a>
 <LI><a href="#[dbe2e0]">DMA_IRQHandler</a>
 <LI><a href="#[dbe328]">CAN_IRQHandler</a>
 <LI><a href="#[dbe010]">MC_IRQHandler</a>
 <LI><a href="#[dbe400]">ADC_IRQHandler</a>
 <LI><a href="#[dbdcb0]">UART0_IRQHandler</a>
 <LI><a href="#[dbdc68]">UART1_IRQHandler</a>
 <LI><a href="#[dbdc20]">UART2_IRQHandler</a>
 <LI><a href="#[dbe0e8]">I2C0_IRQHandler</a>
 <LI><a href="#[dbe0a0]">I2C1_IRQHandler</a>
 <LI><a href="#[dbdea8]">SSP0_IRQHandler</a>
 <LI><a href="#[dbde60]">SSP1_IRQHandler</a>
 <LI><a href="#[dbe058]">LVD_IRQHandler</a>
 <LI><a href="#[dbdf80]">RTC_IRQHandler</a>
 <LI><a href="#[dbdab8]">WIU_IRQHandler</a>
 <LI><a href="#[dbe208]">EXTIT0_IRQHandler</a>
 <LI><a href="#[dbe1c0]">EXTIT1_IRQHandler</a>
 <LI><a href="#[dbe178]">EXTIT2_IRQHandler</a>
 <LI><a href="#[dbe130]">EXTIT3_IRQHandler</a>
 <LI><a href="#[dbdb48]">USBWU_IRQHandler</a>
 <LI><a href="#[dbdfc8]">PFQBC_IRQHandler</a>
 <LI><a href="#[dba480]">main</a>
 <LI><a href="#[12637a8]">__I_use_semihosting</a>
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[dc32e8]"></a>Reset_Handler</STRONG> (ARM, 0 bytes, Stack size unknown bytes, str91x.o(Reset))
<BR>[Address Reference Count : 1]<UL><LI> str91x.o(Reset)
</UL>
<P><STRONG><a name="[db66e0]"></a>__main</STRONG> (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Stack]<UL><LI>Max Depth = 64 + Unknown Stack Size
<LI>Call Chain = __main &rArr; __rt_entry &rArr; __rt_lib_init &rArr; _fp_init
</UL>
<BR>[Calls]<UL><LI><a href="#[db6420]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<LI><a href="#[12608b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[12608b8]"></a>__scatterload</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[db66e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>

<P><STRONG><a name="[1260870]"></a>__scatterload_rt2</STRONG> (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[db6420]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>

<P><STRONG><a name="[1260828]"></a>__scatterload_null</STRONG> (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

<P><STRONG><a name="[12605e8]"></a>__scatterload_copy</STRONG> (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[12605e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[12605e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>

<P><STRONG><a name="[1260480]"></a>__scatterload_zeroinit</STRONG> (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

<P><STRONG><a name="[db9460]"></a>IDISABLE</STRONG> (ARM, 24 bytes, Stack size 0 bytes, 91x_it.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[dbe178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTIT2_IRQHandler
</UL>

<P><STRONG><a name="[db9418]"></a>IENABLE</STRONG> (ARM, 24 bytes, Stack size 0 bytes, 91x_it.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[dbe178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTIT2_IRQHandler
</UL>

<P><STRONG><a name="[db49e8]"></a>__ARM_argv_veneer</STRONG> (ARM, 16 bytes, Stack size 0 bytes, lib_init.o(.emb_text))
<BR><BR>[Called By]<UL><LI><a href="#[db4958]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init (via BLX)
</UL>

<P><STRONG><a name="[dc3330]"></a>__user_initial_stackheap</STRONG> (ARM, 0 bytes, Stack size unknown bytes, str91x.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[db5df8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>

<P><STRONG><a name="[dc1de8]"></a>debug</STRONG> (ARM, 172 bytes, Stack size 0 bytes, 91x_lib.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[dc0e38]"></a>GPIO_DeInit</STRONG> (ARM, 800 bytes, Stack size 8 bytes, 91x_gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = GPIO_DeInit
</UL>
<BR>[Calls]<UL><LI><a href="#[dc0bb0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SCU_APBPeriphReset
</UL>
<BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[dc0df0]"></a>GPIO_Init</STRONG> (ARM, 540 bytes, Stack size 16 bytes, 91x_gpio.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[dc1270]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_GetGPIONumber
</UL>
<BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[dbfa78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Init
</UL>

<P><STRONG><a name="[dc0da8]"></a>GPIO_StructInit</STRONG> (ARM, 28 bytes, Stack size 0 bytes, 91x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[dbfa78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Init
</UL>

<P><STRONG><a name="[dc0d60]"></a>GPIO_ReadBit</STRONG> (ARM, 32 bytes, Stack size 0 bytes, 91x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[dc0d18]"></a>GPIO_Read</STRONG> (ARM, 12 bytes, Stack size 0 bytes, 91x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[dc0cd0]"></a>GPIO_WriteBit</STRONG> (ARM, 28 bytes, Stack size 0 bytes, 91x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[dbe178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTIT2_IRQHandler
<LI><a href="#[dbf958]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_SetCursor
<LI><a href="#[dbf9a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_CMD
<LI><a href="#[dbfa30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_DISP_CHAR
<LI><a href="#[dbfa78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Init
<LI><a href="#[dbfac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_INPUT
</UL>

<P><STRONG><a name="[dc0c88]"></a>GPIO_Write</STRONG> (ARM, 8 bytes, Stack size 0 bytes, 91x_gpio.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[dbfac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_INPUT
</UL>

<P><STRONG><a name="[dc0c40]"></a>GPIO_EMIConfig</STRONG> (ARM, 48 bytes, Stack size 0 bytes, 91x_gpio.o(.text), UNUSED)

<P><STRONG><a name="[dc0bf8]"></a>GPIO_ANAPinConfig</STRONG> (ARM, 148 bytes, Stack size 4 bytes, 91x_gpio.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[dc1228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_GetAnaloClearBits
</UL>

<P><STRONG><a name="[dbfac0]"></a>LCD_INPUT</STRONG> (ARM, 108 bytes, Stack size 16 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = LCD_INPUT
</UL>
<BR>[Calls]<UL><LI><a href="#[dc0c88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Write
<LI><a href="#[dc0cd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[dbf958]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_SetCursor
<LI><a href="#[dbf9a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_CMD
<LI><a href="#[dbfa30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_DISP_CHAR
<LI><a href="#[dbfa78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Init
</UL>

<P><STRONG><a name="[dbfa78]"></a>LCD_Init</STRONG> (ARM, 312 bytes, Stack size 16 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = LCD_Init &rArr; LCD_INPUT
</UL>
<BR>[Calls]<UL><LI><a href="#[dbf8c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SCU_APBPeriphClockConfig
<LI><a href="#[dbfac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_INPUT
<LI><a href="#[dc0cd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
<LI><a href="#[dc0da8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_StructInit
<LI><a href="#[dc0df0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[dbfa30]"></a>LCD_DISP_CHAR</STRONG> (ARM, 60 bytes, Stack size 16 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = LCD_DISP_CHAR &rArr; LCD_INPUT
</UL>
<BR>[Calls]<UL><LI><a href="#[dbfac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_INPUT
<LI><a href="#[dc0cd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>
<BR>[Called By]<UL><LI><a href="#[dba480]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[dbf910]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_Clr
<LI><a href="#[dbf9e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_puts
</UL>

<P><STRONG><a name="[dbf9e8]"></a>LCD_puts</STRONG> (ARM, 36 bytes, Stack size 8 bytes, lcd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[dbfa30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_DISP_CHAR
</UL>

<P><STRONG><a name="[dbf9a0]"></a>LCD_CMD</STRONG> (ARM, 60 bytes, Stack size 16 bytes, lcd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[dbfac0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LCD_INPUT
<LI><a href="#[dc0cd0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_WriteBit
</UL>

<P><STRONG><a name="[dbf958]"></a>LCD_SetCursor</STRONG> (ARM, 60 bytes, Stack size 16 bytes, lcd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = LCD_SetCursor &rArr; LCD_INPUT
</UL>

⌨️ 快捷键说明

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