SHARE
TWEET

Untitled

a guest Sep 11th, 2019 88 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*napisać program zapalający jedną z dwóch diod w zależności od stanu
  2. przycisku. Jeśli przycisk nie jest wciśnięty pali się pierwsza dioda.
  3. Jeśli jest wciśnięty pali się druga
  4. dioda. Jedną diodę proszę gasić/zapalać nie-atomowo, drugą – atomowo.
  5. Oczywiście najpierw,
  6. minimum 3 dni, bawisz się sam. Dopiero potem można podglądać moje rozwiązanie!*/
  7. #include "stm32f1xx.h"
  8.            
  9. int diody(void)
  10. {
  11.  
  12.     RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; //załączenie zegara portu C
  13.     RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; //załączenie zegara portu B
  14.     //RCC->APB2ENR = 16; analogiczne załączenie portu B
  15.  
  16.     //RCC->APB2ENR &= ~RCC_APB2ENR_IOPCEN; //negacja tego bitu
  17.  
  18.     //konfiguracja PC13 jako wyjscie - LED
  19.     GPIOC->CRH |= GPIO_CRH_MODE13_1;
  20.     GPIOC->CRH &= ~GPIO_CRH_CNF13_0;
  21.  
  22.     //konfiguracja PB11 jako wejscia - przycisk input with pull-up/pull-down
  23.     GPIOB->CRH &= GPIO_CRH_CNF11_0;
  24.     GPIOB->CRH |= GPIO_CRH_CNF11_1;
  25.  
  26.     SysTick_Config(4000000);
  27.  
  28.     while(1){
  29.         if (GPIOB->IDR & GPIO_IDR_IDR13){
  30.             GPIOC->ODR |= GPIO_ODR_ODR13;
  31.         }else{
  32.             GPIOC->ODR &= ~GPIO_ODR_ODR13;
  33.         }
  34.     }
  35.  
  36. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top