Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*napisać program zapalający jedną z dwóch diod w zależności od stanu
- przycisku. Jeśli przycisk nie jest wciśnięty pali się pierwsza dioda.
- Jeśli jest wciśnięty pali się druga
- dioda. Jedną diodę proszę gasić/zapalać nie-atomowo, drugą – atomowo.
- Oczywiście najpierw,
- minimum 3 dni, bawisz się sam. Dopiero potem można podglądać moje rozwiązanie!*/
- #include "stm32f1xx.h"
- int diody(void)
- {
- RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; //załączenie zegara portu C
- RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; //załączenie zegara portu B
- //RCC->APB2ENR = 16; analogiczne załączenie portu B
- //RCC->APB2ENR &= ~RCC_APB2ENR_IOPCEN; //negacja tego bitu
- //konfiguracja PC13 jako wyjscie - LED
- GPIOC->CRH |= GPIO_CRH_MODE13_1;
- GPIOC->CRH &= ~GPIO_CRH_CNF13_0;
- //konfiguracja PB11 jako wejscia - przycisk input with pull-up/pull-down
- GPIOB->CRH &= GPIO_CRH_CNF11_0;
- GPIOB->CRH |= GPIO_CRH_CNF11_1;
- SysTick_Config(4000000);
- while(1){
- if (GPIOB->IDR & GPIO_IDR_IDR13){
- GPIOC->ODR |= GPIO_ODR_ODR13;
- }else{
- GPIOC->ODR &= ~GPIO_ODR_ODR13;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement