Skocz do zawartości

olek623

Użytkownicy
  • Zawartość

    7
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O olek623

  • Ranga
    2/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    bydgoszcz
  • Zawód
    student
  • Moje zainteresowania:
    it
  1. Witam, tak jak w temacie chcę wykorzystać systicka przy przycisku tzn. aby uniknąć w while zmiany kilka razy wartości (np przy funkcji toggle zmianna może nastąpić kilka razy przy jednym wciśnięciu). Dlatego robię zmienną buttonczas, którą w momencie wciśnięcia ustawiam na 50 i systick liczy, jak skoczy zmienną flagową a ustawi na 1. Niestety mój program od razu przypisuje a=1 i cały program działa nieprawidłowo. Proszę o pomoc #include <stm32f0xx_rcc.h> #include "stm32f0xx_gpio.h" uint8_t buttonczas; uint32_t time; int a=0; void init(void) { SystemInit(); SystemCoreClockUpdate(); S
  2. Witam, mam problem z przerwaniami zewnętrznymi, nie mogę zainicjować EXTI- nie wiem czy mikrokontroler f0 nie jest w to wyposażony? Mam błedy typu : "request for member 'EXTI_Line' in something not a structure or union" #include <stm32f0xx_rcc.h> #include "stm32f0xx.h" #include "stm32f0xx_gpio.h" #include "stm32f0xx_misc.h" void LED() { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OTyp
  3. Witam jeszcze raz, mam kolejny mały problem chciałem zrobić przyciski dla przejść. Mój zamysł jest taki, że zrobię funkcję, która będzie sprawdzała czy przycisk został wciśnięty, jeśli tak zmieni zmienną globalną (taką flagę np a=1) i wtedy w odpowiednim cyklu zapali LED za pomocą if. Niestety coś mi nie działa, wrzucę część kodu na przykładowych led, jeśli w tym kodzie mi ktoś pomoże w właściwym już ogarnę (nie chcę wrzucać 400lini) #include <stm32f0xx_rcc.h> #include "stm32f0xx_gpio.h" void LED() { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPI
  4. ok, teraz rozumiem. Czy jest jakiś jeszcze sposób na miganie ledami? Oprócz wykorzystanego przeze mnie timera lub funkcji delay (systick)?
  5. No nie wierzę, co za banał xD już wczoraj ze zmęczenia nie ogarniałem. Bardzo dziękuję, jeszcze chciałem podpytać bo próbowałem w TIM_Prescaler ustawić 48000000 oraz TIM_Period = 16, ja to rozumiem że będzie liczone 1/1sekundę (16 sekund cały cykl), ale chyba się mylę bo nie działa zbytnio?
  6. Nie, funkcje LEDPC, PB, PA są funkcjami inicjującymi ledy i działają ok, chodzi mi o sam timer ok 10 linijek kodu + jego użycie w main, czy jest prawidłowe, a nie jest na pewno. W main do zmiennej timerValue przypisuje timera, który nie leci po kolei z wartościami, tylko mam wrażenie randomowych wartości. W tym problem, cała reszta mimo braku komentarzy jest w przypadku bo działa z delay() idelanie. void Timer() { RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); TIM_TimeBaseInitTypeDef timerInitStructure; timerInitStructure.TIM_Prescaler = 48000; timerInitStructure.TIM_
  7. Witam, próbuję wykonać projekt z mikroprocesorów, który polega na wykonaniu modelu skrzyżowania. Przewiduje on komunikację z USART oraz obsługę przycisków przy przejściach. W chwili obecnej stoję przy zapalaniu kolejno poszczególnych led-ów za pomocą timera. Udało mi się wykonać to, ale za pomocą systick/delay. Niestety ta metoda oczywiście jest nie do przyjęcia, więc postanowiłem wykorzystać timer. Nie wiem czy dobrze rozumiem, ale timer pracuje sobie jakby "w tle" i odlicza, czy w s lub ms kołowo (w zależności oczywiście jak jest skonfigurowany). Ja zaś na if-ach w while sprawdzam w którym j
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.