faustin Napisano Luty 12, 2022 Udostępnij Napisano Luty 12, 2022 (edytowany) Witam , mam kod do właczania diody za pomoca przycisku , który działa oto kod: #include "stm32f1xx.h" int main(void) { HAL_Init(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_InitTypeDef gpio; gpio.Pin = GPIO_PIN_4; gpio.Mode = GPIO_MODE_OUTPUT_PP; gpio.Pull = GPIO_NOPULL; gpio.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA, &gpio); gpio.Pin = GPIO_PIN_7; // konfigurujemy pin 13 gpio.Mode = GPIO_MODE_INPUT; // jako wejście gpio.Pull = GPIO_PULLUP; // włączamy rezystor podciągający HAL_GPIO_Init(GPIOC, &gpio); // port GPIOC while (1) { if (HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_7) == GPIO_PIN_RESET) { // jesli przycisk jest przycisniety, HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // zapal diode } else { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); } } } no i drugi , który wydaje mi się bardziej logiczny i lepszy w zrozumieniu , ale co dziwne kiedys mi działał a robiłam na staraszej wersji środowiska ale teraz musiałam zainstalować sobie nowsza wersje i wklejam go a tam same błedy wyskakują i nie wiem dlaczego poniewaz kod sam w sobie raczej powinien być dobry . oto ten kod: #include "stm32f10x.h" int main(void) { GPIO_InitTypeDef gpio; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE); GPIO_StructInit(&gpio); gpio.GPIO_Pin=GPIO_Pin_4; gpio.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOA,&gpio); gpio.GPIO_Pin=GPIO_Pin_7; gpio.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIOC,&gpio); while(1) { if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7)==0) { GPIO_SetBits(GPIOA,GPIO_Pin_4); }else{ GPIO_ResetBits(GPIOA,GPIO_Pin_4); } } } Edytowano Luty 12, 2022 przez faustin Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »