1 /******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
\r
3 * Author : MCD Application Team
\r
4 * Date First Issued : 06/08/2003
\r
5 * Description : This file provides all the GPIO software functions
\r
6 ********************************************************************************
\r
11 *******************************************************************************
\r
12 THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
\r
13 CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
\r
14 AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
\r
15 OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
\r
16 OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
\r
17 CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
\r
18 *******************************************************************************/
\r
22 /*******************************************************************************
\r
23 * Function Name : GPIO_Config
\r
24 * Description : Configure the GPIO port pins
\r
25 * Input 1 : GPIOx (x can be 0,1 or 2) the desired port
\r
26 * Input 2 : Port_Pins : pins placements
\r
27 * Input 3 : Pins Mode
\r
30 *******************************************************************************/
\r
31 void GPIO_Config (GPIO_TypeDef *GPIOx, u16 Port_Pins, GpioPinMode_TypeDef GPIO_Mode)
\r
35 case GPIO_HI_AIN_TRI:
\r
36 GPIOx->PC0&=~Port_Pins;
\r
37 GPIOx->PC1&=~Port_Pins;
\r
38 GPIOx->PC2&=~Port_Pins;
\r
41 case GPIO_IN_TRI_TTL:
\r
42 GPIOx->PC0|=Port_Pins;
\r
43 GPIOx->PC1&=~Port_Pins;
\r
44 GPIOx->PC2&=~Port_Pins;
\r
47 case GPIO_IN_TRI_CMOS:
\r
48 GPIOx->PC0&=~Port_Pins;
\r
49 GPIOx->PC1|=Port_Pins;
\r
50 GPIOx->PC2&=~Port_Pins;
\r
54 GPIOx->PC0|=Port_Pins;
\r
55 GPIOx->PC1|=Port_Pins;
\r
56 GPIOx->PC2&=~Port_Pins;
\r
60 GPIOx->PC0&=~Port_Pins;
\r
61 GPIOx->PC1&=~Port_Pins;
\r
62 GPIOx->PC2|=Port_Pins;
\r
66 GPIOx->PC0|=Port_Pins;
\r
67 GPIOx->PC1&=~Port_Pins;
\r
68 GPIOx->PC2|=Port_Pins;
\r
72 GPIOx->PC0&=~Port_Pins;
\r
73 GPIOx->PC1|=Port_Pins;
\r
74 GPIOx->PC2|=Port_Pins;
\r
78 GPIOx->PC0|=Port_Pins;
\r
79 GPIOx->PC1|=Port_Pins;
\r
80 GPIOx->PC2|=Port_Pins;
\r
85 /*******************************************************************************
\r
86 * Function Name : GPIO_BitWrite
\r
87 * Description : Set or reset the selected port pin
\r
88 * Input 1 : Selected GPIO port
\r
89 * Input 2 : Pin number
\r
90 * Input 3 : bit value
\r
93 *******************************************************************************/
\r
94 void GPIO_BitWrite(GPIO_TypeDef *GPIOx, u8 Port_Pin, u8 Port_Val)
\r
96 if (Port_Val&0x01) GPIOx->PD |= 1<<Port_Pin; else GPIOx->PD &= ~(1<<Port_Pin);
\r
99 /*******************************************************************************
\r
100 * Function Name : GPIO_ByteWrite
\r
101 * Description : Write byte value to the selected PD register
\r
102 * Input 1 : Selected GPIO port
\r
103 * Input 2 : GPIO_MSB or GPIO_LSB
\r
104 * Input 3 : Byte value
\r
107 *******************************************************************************/
\r
108 void GPIO_ByteWrite(GPIO_TypeDef *GPIOx, u8 Port_Byte, u8 Port_Val)
\r
110 GPIOx->PD = Port_Byte ? (GPIOx->PD&0x00FF) | ((u16)Port_Val<<8)
\r
111 : (GPIOx->PD&0xFF00) | Port_Val;
\r
114 /******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/
\r