Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*----------------------------------------------------------------------------
- initialize LCD Pins
- *----------------------------------------------------------------------------*/
- void LCD_Initpins (void) {
- RCC->AHB1ENR |= ((1UL << 3) ); /* Enable GPIOD clock */
- GPIOD->MODER &= ~((3UL << 2* 0) |
- (3UL << 2* 1) |
- (3UL << 2* 2) |
- (3UL << 2* 3) |
- (3UL << 2* 4) |
- (3UL << 2* 5) |
- (3UL << 2* 6) |
- (3UL << 2* 7) ); /* PD.0..7 is output */
- GPIOD->MODER |= ((1UL << 2* 0) |
- (1UL << 2* 1) |
- (1UL << 2* 2) |
- (1UL << 2* 3) |
- (1UL << 2* 4) |
- (1UL << 2* 5) |
- (1UL << 2* 6) |
- (1UL << 2* 7) );
- GPIOD->OTYPER &= ~((1UL << 0) |
- (1UL << 1) |
- (1UL << 2) |
- (1UL << 3) |
- (1UL << 4) |
- (1UL << 5) |
- (1UL << 6) |
- (1UL << 7) ); /* PD.0..7 is output Push-Pull */
- GPIOD->OSPEEDR &= ~((3UL << 2* 0) |
- (3UL << 2* 1) |
- (3UL << 2* 2) |
- (3UL << 2* 3) |
- (3UL << 2* 4) |
- (3UL << 2* 5) |
- (3UL << 2* 6) |
- (3UL << 2* 7) ); /* PD.0..7 is 50MHz Fast Speed */
- GPIOD->OSPEEDR |= ((2UL << 2* 0) |
- (2UL << 2* 1) |
- (2UL << 2* 2) |
- (2UL << 2* 3) |
- (2UL << 2* 4) |
- (2UL << 2* 5) |
- (2UL << 2* 6) |
- (2UL << 2* 7) );
- GPIOD->PUPDR &= ~((3UL << 2* 0) |
- (3UL << 2* 1) |
- (3UL << 2* 2) |
- (3UL << 2* 3) |
- (3UL << 2* 4) |
- (3UL << 2* 5) |
- (3UL << 2* 6) |
- (3UL << 2* 7) ); /* PD.0..7 is Pull up */
- GPIOD->PUPDR |= ((1UL << 2* 0) |
- (1UL << 2* 1) |
- (1UL << 2* 2) |
- (1UL << 2* 3) |
- (1UL << 2* 4) |
- (1UL << 2* 5) |
- (1UL << 2* 6) |
- (1UL << 2* 7) );
- // PORT B LCD Control Lines
- RCC->AHB1ENR |= ((1UL << 1) ); /* Enable GPIOB clock */
- GPIOB->MODER &= ~((3UL << 2* 0) |
- (3UL << 2* 1) |
- (3UL << 2* 2) ); /* PB.0..7 is output */
- GPIOB->MODER |= ((1UL << 2* 0) |
- (1UL << 2* 1) |
- (1UL << 2* 2) );
- GPIOB->OTYPER &= ~((1UL << 0) |
- (1UL << 1) |
- (1UL << 2) ); /* PB.0..7 is output Push-Pull */
- GPIOB->OSPEEDR &= ~((3UL << 2* 0) |
- (3UL << 2* 1) |
- (3UL << 2* 2) ); /* PB.0..7 is 50MHz Fast Speed */
- GPIOB->OSPEEDR |= ((2UL << 2* 0) |
- (2UL << 2* 1) |
- (2UL << 2* 2) );
- GPIOB->PUPDR &= ~((3UL << 2* 0) |
- (3UL << 2* 1) |
- (3UL << 2* 2) ); /* PB.0..7 is Pull up */
- GPIOB->PUPDR |= ((1UL << 2* 0) |
- (1UL << 2* 1) |
- (1UL << 2* 2) );
- // PORT A LCD Driver IC Enable Line
- RCC->AHB1ENR |= ((1UL << 0) ); /* Enable GPIOA clock */
- GPIOA->MODER &= ~((3UL << 2*15) ); /* PA.0..7 is output */
- GPIOA->MODER |= ((1UL << 2*15) );
- GPIOA->OTYPER &= ~((1UL << 15) ); /* PA.15 is output Push-Pull */
- GPIOA->OSPEEDR &= ~((3UL << 2*15) ); /* PA.15 is 50MHz Fast Speed */
- GPIOA->OSPEEDR |= ((2UL << 2*15) );
- GPIOA->PUPDR &= ~((3UL << 2*15) ); /* PA.15 is Pull up */
- GPIOA->PUPDR |= ((1UL << 2*15) );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement