Advertisement
ddeexxiikk

LAB1

Jun 5th, 2025
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.15 KB | Source Code | 0 0
  1. #include "stm32f302x8.h"
  2.  
  3. #define GPIOBEN             (1U<<18)
  4. #define USER_LED            (1U<<13)
  5.  
  6. int main(void)
  7. {
  8.    //załączenie  zegara
  9.    RCC->AHBENR |= GPIOBEN;
  10.  
  11.    //ustawienie PB13 jako wyjście
  12.    GPIOB->MODER |= (1U<<26);
  13.    GPIOB->MODER &=~(1U<<27);
  14.  
  15.    while(1)
  16.    {
  17.       //ustawienie PB13 jako stan wysoki
  18.       GPIOB->ODR |= USER_LED;
  19.    }  
  20. }
  21.  
  22. #include "stm32f302x8.h"
  23.  
  24. #define GPIOBEN             (1U<<18)
  25. #define USER_LED            (1U<<13)
  26. int main(void)
  27. {
  28.    //załączenie  zegara
  29.    RCC->AHBENR |= GPIOBEN;
  30.  
  31.    //ustawienie PB13 jako wyjście
  32.    GPIOB->MODER |= (1U<<26);
  33.    GPIOB->MODER &=~(1U<<27);
  34.  
  35.    //ustawienie PB13 jako stan wysoki
  36.    GPIOB->ODR |= USER_LED;
  37.  
  38.    while(1)
  39.    {
  40.       GPIOB->ODR ^= USER_LED;
  41.       for(int i=0; i<1000000; i++){}
  42.    }
  43. }
  44.  
  45. #include "stm32f302x8.h"
  46.  
  47. #define GPIOCEN             (1U<<19)
  48. #define GPIOBEN             (1U<<18)
  49. #define USER_LED            (1U<<13)
  50. #define BUTTON              (1U<<13)
  51.  
  52. int main(void)
  53. {
  54.    //załączenie  zegara
  55.    RCC->AHBENR |= GPIOBEN;
  56.    RCC->AHBENR |= GPIOCEN;
  57.  
  58.    //ustawienie PB13 jako wyjście
  59.    GPIOB->MODER |= (1U<<26);
  60.    GPIOB->MODER &=~(1U<<27);
  61.  
  62.    //ustawienie przycisku jako wejscia
  63.    GPIOC->MODER &=~(1U<<26);
  64.    GPIOC->MODER &=~(1U<<27);
  65.  
  66.    GPIOB->ODR |= USER_LED;
  67.  
  68.    while(1)
  69.    {
  70.       if(GPIOC->IDR&BUTTON)
  71.       {
  72.          GPIOB->ODR |= USER_LED;
  73.       }
  74.       else
  75.       {
  76.          GPIOB->ODR &= ~USER_LED;
  77.       }
  78.    }
  79. }
  80.  
  81. #include "stm32f302x8.h"
  82.  
  83. #define GPIOCEN             (1U<<19)
  84. #define GPIOBEN             (1U<<18)
  85. #define USER_LED            (1U<<13)
  86. #define BUTTON              (1U<<13)
  87.  
  88. int main(void)
  89. {
  90.    //załączenie  zegara
  91.    RCC->AHBENR |= GPIOBEN;
  92.    RCC->AHBENR |= GPIOCEN;
  93.  
  94.    //ustawienie PB13 jako wyjście
  95.    GPIOB->MODER |= (1U<<26);
  96.    GPIOB->MODER &=~(1U<<27);
  97.  
  98.    //ustawienie przycisku jako wejscia
  99.    GPIOC->MODER &=~(1U<<26);
  100.    GPIOC->MODER &=~(1U<<27);
  101.  
  102.    GPIOB->ODR |= USER_LED;
  103.  
  104.    while(1)
  105.    {
  106.       if(GPIOC->IDR&BUTTON)
  107.       {
  108.          GPIOB->ODR ^= USER_LED;
  109.          while(GPIOC->IDR&BUTTON){}
  110.       }
  111.    }
  112. }
  113.  
  114.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement