Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'EXTI'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 1 wynik

  1. #include "stm32f4xx.h" void GPIO_Konf(void) { GPIO_InitTypeDef gpio; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE); gpio.GPIO_Pin = GPIO_Pin_1; gpio.GPIO_Mode = GPIO_Mode_OUT; gpio.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_Init(GPIOE, &gpio); } void Przerwanie (void) { GPIO_InitTypeDef gpio; NVIC_InitTypeDef nvic; EXTI_InitTypeDef exti; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG|RCC_APB2Periph_EXTIT, ENABLE); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOD, EXTI_PinSource0); gpio.GPIO_Pin = GPIO_Pin_0; gpio.GPIO_Mode = GPIO_Mode_IN; gpio.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_Init(GPIOD, &gpio); exti.EXTI_Line = EXTI_Line0; exti.EXTI_LineCmd = ENABLE; exti.EXTI_Mode = EXTI_Mode_Interrupt; exti.EXTI_Trigger = EXTI_Trigger_Rising_Falling; EXTI_Init(&exti); nvic.NVIC_IRQChannel = EXTI0_IRQn; nvic.NVIC_IRQChannelPreemptionPriority = 0x00; nvic.NVIC_IRQChannelSubPriority = 0x00; nvic.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&nvic); } void EXTI0_IRQHandler(void) { if (EXTI_GetITStatus(EXTI_Line0) != RESET) { GPIO_SetBits(GPIOE, GPIO_Pin_1); EXTI_ClearITPendingBit(EXTI_Line0); } } int main(void) { GPIO_Konf(); Przerwanie(); while(1){ } } Witam Mam problem z działaniem przerwań zewnętrznych. Używam STM32F407 na płytce Discovery i chciałem się nauczyć obsługi biblioteki Standard Peripheral Library. Napisałem ten kod, wszystko się kompiluje bez błędów ale dioda nr.1 podpięta do portu E nie świeci się po wciśnięciu przycisku. Myślałem że trzeba wywołać funkcję EXTI0_IRQHandler() gdzieś w funkcji main() na przykład w pętli while ale widzę, że w kursie na forbocie ta funkcja też nie jest nigdzie wywoływana. Układ z przyciskiem i diodą jest zmontowany poprawnie. Będę wdzieczny za wszelkie wskazówki.
×
×
  • 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.