Skocz do zawartości

[C] Problem z portem B w mikrokontrolerze ZL30ARM


kompan

Pomocna odpowiedź

Witam,

Mam problem z uruchomieniem dwóch diód na mikrokontrolerze ZL30ARM.

Celem ćwiczenia było zapalenie diod nr 1 i 3 na portach B. (b1, b3 -> d1, d3).

#include "stm32f10x.h"

int main(void)
{
   GPIO_InitTypeDef GPIO_InitStructure; //deklarujemy strukture do inicjalizacji portu
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //wlacz taktowanie portu GPIO B
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_3; // konfigurujemy piny 1 i 3
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // jako wyjscia push-pull
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // z taktowaniem 50MHz
   GPIO_Init(GPIOB, &GPIO_InitStructure); // inicjalizujemy port GPIO B
   GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET); // ustawiamy na 1 pin 1
   GPIO_WriteBit(GPIOB,GPIO_Pin_3,Bit_SET); // ustawiamy na 1 pin 3
   while(1); // petla nieskonczona zatrzymuje program
}

Po uruchomieniu kodu, dioda d1 świeci się, natomiast d3 nie.

Porty są sprawne, problem tkwi w kodzie. Podobno istnieje do tego specjalna funkcja, której nie mogłem nigdzie znaleźć.

Proszę o pomoc.

Dziękuję,

kompan

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.