資料介紹
void GPIO_DeInit(GPIO_TypeDef* GPIOx)
{
? /* Reset the GPIO registers values */
? if(GPIOx == GPIO0)
? {
??? SCU_APBPeriphReset(__GPIO0,ENABLE);
??? SCU_APBPeriphReset(__GPIO0,DISABLE);
??? SCU->GPIOTYPE[0x00] = 0x0000 ;
??? SCU->GPIOOUT[0x00]? = 0x0000;
??? SCU->GPIOIN[0x00]?? = 0x0000;
? }
?? if(GPIOx == GPIO1)
? {
??? SCU_APBPeriphReset(__GPIO1,ENABLE);
??? SCU_APBPeriphReset(__GPIO1,DISABLE);
??? SCU->GPIOTYPE[0x01] = 0x0000 ;
??? SCU->GPIOOUT[0x01]? = 0x0000;
??? SCU->GPIOIN[0x01]?? = 0x0000;
? }
?? if(GPIOx == GPIO2)
? {
??? SCU_APBPeriphReset(__GPIO2,ENABLE);
??? SCU_APBPeriphReset(__GPIO2,DISABLE);
??? SCU->GPIOTYPE[0x02] = 0x0000 ;
??? SCU->GPIOOUT[0x02]? = 0x0000;
??? SCU->GPIOIN[0x02]?? = 0x0000;
? }
?? if(GPIOx == GPIO3)
? {
??? SCU_APBPeriphReset(__GPIO3,ENABLE);
??? SCU_APBPeriphReset(__GPIO3,DISABLE);
??? SCU->GPIOTYPE[0x03] = 0x0000 ;
??? SCU->GPIOOUT[0x03]? = 0x0000;
??? SCU->GPIOIN[0x03]?? = 0x0000;
? }
?? if(GPIOx == GPIO4)
? {
??? SCU_APBPeriphReset(__GPIO4,ENABLE);
??? SCU_APBPeriphReset(__GPIO4,DISABLE);
??? SCU->GPIOTYPE[0x04] = 0x0000 ;
??? SCU->GPIOOUT[0x04]? = 0x0000;
??? SCU->GPIOIN[0x04]?? = 0x0000;
??? SCU->GPIOANA = 0x00;
? }
?? if(GPIOx == GPIO5)
? {
??? SCU_APBPeriphReset(__GPIO5,ENABLE);
??? SCU_APBPeriphReset(__GPIO5,DISABLE);
??? SCU->GPIOTYPE[0x05] = 0x0000 ;
??? SCU->GPIOOUT[0x05]? = 0x0000;
??? SCU->GPIOIN[0x05]?? = 0x0000;
? }
?? if(GPIOx == GPIO6)
? {
??? SCU_APBPeriphReset(__GPIO6,ENABLE);
??? SCU_APBPeriphReset(__GPIO6,DISABLE);
??? SCU->GPIOTYPE[0x06] = 0x0000 ;
??? SCU->GPIOOUT[0x06]? = 0x0000;
??? SCU->GPIOIN[0x06]?? = 0x0000;
? }
?? if(GPIOx == GPIO7)
? {
??? SCU_APBPeriphReset(__GPIO7,ENABLE);
??? SCU_APBPeriphReset(__GPIO7,DISABLE);
??? SCU->GPIOOUT[0x07]? = 0xAAAA;
??? SCU->GPIOOUT[0x07]? = 0x0000;
??? SCU->GPIOIN[0x07]?? = 0x0000;
? }
?? if(GPIOx == GPIO8)
? {
??? SCU_APBPeriphReset(__GPIO8,ENABLE);
??? SCU_APBPeriphReset(__GPIO8,DISABLE);
??? SCU->GPIOEMI = 0x00;
? }
?? if(GPIOx == GPIO9)
? {
??? SCU_APBPeriphReset(__GPIO9,ENABLE);
??? SCU_APBPeriphReset(__GPIO9,DISABLE);
??? SCU->GPIOEMI = 0x00;
? }
}
/*******************************************************************************
* Function Name? : GPIO_Init
* Description??? : Initializes the GPIOx peripheral according to the specified
*????????????????? parameters in the GPIO_InitStruct .
* Input????????? :- GPIOx: where x can be (0..9) to select the GPIO peripheral.
*???????????????? - GPIO_InitStruct: pointer to a GPIO_InitTypeDef structure that
*?????????????????? contains the configuration information for the specified GPIO
*?????????????????? peripheral.
* Output???????? : None
* Return???????? : None
*******************************************************************************/
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
{
? /* Select pin direction */
? u8 PinNumber = 0;
? u8 Counter = 0;
? u8 GPIO_Number = 0;
? GPIO_Number = GPIO_GetGPIONumber(GPIOx);
? if(GPIO_InitStruct->GPIO_Direction == GPIO_PinOutput)
? {
? GPIOx->DDR |= GPIO_InitStruct->GPIO_Pin;
? }
? else
? {
?? GPIOx->DDR &= ~GPIO_InitStruct->GPIO_Pin;
? }
?? for (Counter = 0; Counter < 8;Counter++)
??? {
???? /*Search pin number*/
???? PinNumber = (GPIO_InitStruct->GPIO_Pin & (1 <
???? {
??????? /*Output ALternate 0*/
??????? SCU->GPIOOUT[GPIO_Number] &= ~(0x3 <<(Counter *2));
??????? if(GPIO_InitStruct->GPIO_Alternate == GPIO_OutputAlt1)
??????? {
????????? /*Output ALternate 1*/
????????? SCU->GPIOOUT[GPIO_Number] |= 1 << (Counter *2);
??????? }
??????? if(GPIO_InitStruct->GPIO_Alternate == GPIO_OutputAlt2)
??????? {
????????? /*Output ALternate 2*/
????????? SCU->GPIOOUT[GPIO_Number] |= 0x2 << (Counter *2);
??????? }
??????? if(GPIO_InitStruct->GPIO_Alternate == GPIO_OutputAlt3)
??????? {
????????? /*Output ALternate 3*/
????????? SCU->GPIOOUT[GPIO_Number] |= 0x3 << (Counter *2);
??????? }
?????? /*Type configuration: PushPull or Open Collector*/
??????? SCU->GPIOTYPE[GPIO_Number] &= ~(0x1 << Counter) ;
?????? if(GPIO_InitStruct->GPIO_Type == GPIO_Type_OpenCollector)
?????? {
???????? /*Open Drain configuration*/
??????? SCU->GPIOTYPE[GPIO_Number] |= 0x1 << Counter;
?????? }
?????? /*IP Connected disable*/
?????? SCU->GPIOIN[GPIO_Number] &= ~(0x1 << Counter) ;
?????? if(GPIO_InitStruct->GPIO_IPConnected == GPIO_IPConnected_Enable)
?????? {
???????? /*IP Connected enable*/
???????? SCU->GPIOIN[GPIO_Number] |= 0x1 << Counter;
?????? }
??? }
?}
}
- 窗口看門狗是什么?與獨(dú)立看門狗有啥區(qū)別?
- STM32:獨(dú)立看門狗、窗口看門狗的配置
- arduino看門狗的使用
- arduino看門狗
- MCU獨(dú)立看門狗與窗口看門狗的區(qū)別
- STM32 ADC模擬看門狗及其應(yīng)用
- 單片機(jī)看門狗有兩種:分別為獨(dú)立看門狗和窗口看門狗,它們有什么區(qū)別?資料下載
- 看門狗應(yīng)用的keil程序和電路圖免費(fèi)下載 16次下載
- MSP430的看門狗使用學(xué)習(xí)資料總結(jié)
- ZigBee看門狗定時(shí)器的詳細(xì)介紹和應(yīng)用程序免費(fèi)下載
- 看門狗(WatchDog 18次下載
- Arduino 看門狗 16次下載
- STM32_獨(dú)立看門狗程序 25次下載
- Freescale Semiconductor看門狗程序 5次下載
- 基于STR710的看門狗程序 48次下載
- 什么是模擬看門狗?模擬看門狗有什么用處? 1865次閱讀
- MCU如何集成看門狗的功能 1857次閱讀
- 獨(dú)立看門狗功能描述 2438次閱讀
- STM32中的獨(dú)立看門狗和窗口看門狗 1416次閱讀
- STM32中的獨(dú)立看門狗和窗口看門狗 2194次閱讀
- 看門狗電路基本技巧 7603次閱讀
- STM32單片機(jī)中的獨(dú)立看門狗與窗口看門狗有哪些不同之處 3399次閱讀
- 什么是看門狗定時(shí)器?為何看門狗定時(shí)器如此重要? 2.3w次閱讀
- PIC單片機(jī)之看門狗_看門狗定時(shí)器工作原理 8076次閱讀
- 看門狗定時(shí)器防止溢出復(fù)位程序 4782次閱讀
- STM32看門狗配置(獨(dú)立看門狗IWDG和窗口看門狗WWDG) 8465次閱讀
- 看門狗定時(shí)器的作用 6724次閱讀
- 看門狗喂狗時(shí)間及程序 1.7w次閱讀
- 看門狗定時(shí)器的設(shè)計(jì)、工作原理及看門狗定時(shí)器的操作 7798次閱讀
- stm32看門狗時(shí)間計(jì)算 獨(dú)立看門狗和窗口看門狗的特性是什么 8789次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論