資料介紹
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;
?????? }
??? }
?}
}
- 窗口看門狗是什么?與獨立看門狗有啥區別?
- STM32:獨立看門狗、窗口看門狗的配置
- arduino看門狗的使用
- arduino看門狗
- MCU獨立看門狗與窗口看門狗的區別
- STM32 ADC模擬看門狗及其應用
- 單片機看門狗有兩種:分別為獨立看門狗和窗口看門狗,它們有什么區別?資料下載
- 看門狗應用的keil程序和電路圖免費下載 16次下載
- MSP430的看門狗使用學習資料總結
- ZigBee看門狗定時器的詳細介紹和應用程序免費下載
- 看門狗(WatchDog 18次下載
- Arduino 看門狗 16次下載
- STM32_獨立看門狗程序 25次下載
- Freescale Semiconductor看門狗程序 5次下載
- 基于STR710的看門狗程序 48次下載
- 什么是模擬看門狗?模擬看門狗有什么用處? 1865次閱讀
- MCU如何集成看門狗的功能 1857次閱讀
- 獨立看門狗功能描述 2438次閱讀
- STM32中的獨立看門狗和窗口看門狗 1416次閱讀
- STM32中的獨立看門狗和窗口看門狗 2194次閱讀
- 看門狗電路基本技巧 7603次閱讀
- STM32單片機中的獨立看門狗與窗口看門狗有哪些不同之處 3399次閱讀
- 什么是看門狗定時器?為何看門狗定時器如此重要? 2.3w次閱讀
- PIC單片機之看門狗_看門狗定時器工作原理 8076次閱讀
- 看門狗定時器防止溢出復位程序 4782次閱讀
- STM32看門狗配置(獨立看門狗IWDG和窗口看門狗WWDG) 8465次閱讀
- 看門狗定時器的作用 6724次閱讀
- 看門狗喂狗時間及程序 1.7w次閱讀
- 看門狗定時器的設計、工作原理及看門狗定時器的操作 7798次閱讀
- stm32看門狗時間計算 獨立看門狗和窗口看門狗的特性是什么 8789次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論