Advertisement
Pawnile

Tärning

Apr 25th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. int main(void)
  2. {
  3. /* Enable GPIOA */
  4. SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOAEN);
  5. __IO uint32_t tempreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOAEN);
  6.  
  7. /* Configure LED (PA.4 SO FAR) as push-pull output, No pull-up, pull-down */
  8. //CLEAR_BIT(GPIOA->MODER, GPIO_MODER_MODER4);
  9. //SET_BIT(GPIOA->MODER, GPIO_MODER_MODER4_0);
  10. //CLEAR_BIT(GPIOA->OTYPER, GPIO_ODR_ODR_4);
  11. //CLEAR_BIT(GPIOA->OSPEEDR, GPIO_OSPEEDER_OSPEEDR4);
  12. //SET_BIT(GPIOA->OSPEEDR, GPIO_OSPEEDER_OSPEEDR4_0);
  13. //CLEAR_BIT(GPIOA->PUPDR, GPIO_PUPDR_PUPDR4);
  14.  
  15. /* Configure for all LEDs */
  16. CLEAR_BIT(GPIOA->MODER, 0xffff << 8 ); // 11111111
  17. SET_BIT(GPIOA->MODER, 0x5555 << 8 ); // 01010101
  18. CLEAR_BIT(GPIOA->OTYPER, 0xff << 4 ); // 11 11
  19. CLEAR_BIT(GPIOA->OSPEEDR, 0xffff << 8 );
  20. SET_BIT(GPIOA->OSPEEDR, 0x5555 << 8 );
  21. CLEAR_BIT(GPIOA->PUPDR, 0xffff << 8 );
  22.  
  23. /* Enable GPIOB */ // BLÅ KNAPP
  24. SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOBEN);
  25. tempreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOBEN);
  26. CLEAR_BIT(GPIOB->MODER, GPIO_MODER_MODER0);
  27. CLEAR_BIT(GPIOB->OSPEEDR, GPIO_OSPEEDER_OSPEEDR0);
  28. SET_BIT(GPIOB->OSPEEDR, GPIO_OSPEEDER_OSPEEDR0_0);
  29. CLEAR_BIT(GPIOB->PUPDR, GPIO_PUPDR_PUPDR0);
  30. SET_BIT(GPIOB->PUPDR, GPIO_PUPDR_PUPDR0_0);
  31.  
  32.  
  33. /* Enable GPIOC */
  34. //SET_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN);
  35. //tempreg = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN);
  36. //CLEAR_BIT(GPIOC->MODER, GPIO_MODER_MODER13);
  37. //CLEAR_BIT(GPIOC->OSPEEDR, GPIO_OSPEEDER_OSPEEDR13);
  38. //SET_BIT(GPIOC->OSPEEDR, GPIO_OSPEEDER_OSPEEDR13_0);
  39. //CLEAR_BIT(GPIOC->PUPDR, GPIO_PUPDR_PUPDR13);
  40.  
  41.  
  42. /* Infinite loop */
  43. while (1) {
  44. if(!READ_BIT(GPIOB->IDR, GPIO_IDR_IDR_0)){
  45. GPIOA->ODR ^= 0xff << 4; // 55 ger varannan
  46. } else
  47. CLEAR_BIT(GPIOA->ODR, 0xff << 4);
  48. for(int i=0; i<1000000;i++)
  49. __NOP();
  50. }
  51.  
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement