Skocz do zawartości

Lay-Z

Użytkownicy
  • Zawartość

    10
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O Lay-Z

  • Ranga
    2/10

Informacje

  • Płeć
    Brak informacji
  • Języki programowania
    C/C++, Python
  1. @Treker Co do złącza USB, to tak, de facto z niego jest mi potrzebne tylko zasilanie. A co do Jacka to właśnie szukałem datasheetów, ale do części nie było, a te co udało mi się znaleźć, to nic mi nie mówiły, stąd moje pytanie
  2. Hej, męczę się z projektem, w którym potrzebuję podłączyć złącze Jack 3,5mm. I tutaj zaczynają się schodki. Złącze to ma kilka nóżek i kompletnie nie wiem jak to podłączyć. Datasheety też niewiele mi mówią, ponieważ nie umiem się w nich połapać. Pracuję w programie Altium Designer i jak na razie wygląda to tak: To złącze jest na wejściu i zbiera dźwięk (więc służy jako mikrofon). Sygnał później leci do wzmacniacza. Kolejne złącze służy do wyjścia (podepnę do tego jakieś głośniki). I jest tam sygnał, który wychodzi ze wzmacniacza i wygląda to tak . Kolejnym problemem, z który stanął na mojej drodze to podłączenie złącza USB. To złącze ma za zadanie niesymetrycznie zasilić wzmacniacz. Wygląda to tak: . Nie ma zielonego pojęcia czy jest to dobrze podłączone, jednak jest to jedyne co udało mi się ustalić od jakiś2 tygodni . Liczę na waszą pomoc, za którą z góry dziękuję!
  3. @Gieneq Pokażę cały kod. Wymyśliłem coś takiego ale jak zaczynam sobie while'a to w kolejnej linijce : if (HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13)) //tutaj mi błąd wywala mam błąd. Nie wiem jak ten program ma wyglądać, próbuję wszystkiego po kolei i nic. Dodałem jeszcze do pliku stm32f1xx_it.c taki kawałek: void SysTick_Handler(void) { HAL_IncTick(); HAL_SYSTICK_IRQHandler(); #ifdef USE_RTOS_SYSTICK osSystickHandler(); #endif } a oto końcowy kod: #include "stm32f1xx.h" void EXTI15_10_IRQHandler(void) { HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13); } int main(void) { SystemCoreClock = 8000000; // taktowanie 8Mhz HAL_Init(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef gpio; // obiekt gpio będący konfiguracją portów GPIO gpio.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4| GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; gpio.Pin = GPIO_PIN_13; gpio.Mode = GPIO_MODE_OUTPUT_PP;; // jako wyjście gpio.Pull = GPIO_PULLUP; // rezystory podciągające są wyłączone gpio.Speed = GPIO_SPEED_FREQ_LOW; // wystarczą nieskie częstotliwości przełączania HAL_GPIO_Init(GPIOC, &gpio); // inicjalizacja modułu GPIOC HAL_NVIC_EnableIRQ(EXTI15_10_IRQn); uint16_t led = 10; while (1) { if (HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13)) { HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_SET); //włącz diode HAL_Delay(150); HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_RESET); //wyłącz diode if (--led >= 10) { // przejdz do nastepnej led = 10; } } else { HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_SET); //włącz diode HAL_Delay(150); HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_RESET); //wyłącz diode if (++led >= 10) { // przejdz do nastepnej led = 0; } } } }
  4. @Gieneq niestety pomimo wielu prób nie potrafię tego zrobić. Próbowałem użyć HAL_GPIO_EXTI_Callback jednaj mój program nadal nie działał . Nie mam już na to pomysłu
  5. Napisałem wszystko od nowa i jakoś ruszyło, tylko żeby zapętlało w drugą stronę strzelam że trzeba użyć swego rodzaju switcha który przełącza stany zamiast definiować na sucho stan niski czy wysoki (1 i 0), tylko tutaj rodzi się kolejny problem, bo nie wiem jak miało by to wyglądać . Byłbym bardzo wdzięczy za pomoc. Z góry dziękuję za wszelkie chęci! #include "stm32f1xx.h" int main(void) { SystemCoreClock = 8000000; // taktowanie 8Mhz HAL_Init(); __HAL_RCC_GPIOC_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef gpio; // obiekt gpio będący konfiguracją portów GPIO gpio.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4| GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; gpio.Mode = GPIO_MODE_OUTPUT_PP; // jako wyjście gpio.Pull = GPIO_NOPULL; // rezystory podciągające są wyłączone gpio.Speed = GPIO_SPEED_FREQ_LOW; // wystarczą nieskie częstotliwości przełączania HAL_GPIO_Init(GPIOC, &gpio); // inicjalizacja modułu GPIOC uint32_t led = 10; while (1) { if (HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13) == 0) { HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_SET); //włącz diode HAL_Delay(150); HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_RESET); //wyłącz diode if (--led >= 10) { // przejdz do nastepnej led = 10; } } else { HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_SET); //włącz diode HAL_Delay(150); HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_RESET); //wyłącz diode if (++led >= 10) { // przejdz do nastepnej led = 0; } } } }
  6. Przepraszam za tak długą zwłokę, ale pomimo wielu prób podejmowanych w kolejnych dniach mój kod nadal nie działa, i nie mogę wymyślić co dalej robić.
  7. Hej, próbuję przerobić kurs STM32 F1 HAL i na samym początku pojawiły się problemy, a mianowicie od kilku dni próbuję zrobić zadanie 4.1, jednak wszystkie próby kończą się niepowodzeniem. Ma może ktoś zrobione to zadanie i chciałby się nim podzielić oraz sposobem jego rozwiązania? Poniżej mój kod. Z góry dziękuję! #include "stm32f1xx.h" int main(void) { SystemCoreClock = 8000000; // taktowanie 8Mhz HAL_Init(); __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); GPIO_InitTypeDef gpio; // obiekt gpio będący konfiguracją portów GPIO gpio.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4| GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; gpio.Mode = GPIO_MODE_IT_RISING; gpio.Pull = GPIO_PULLUP; // rezystory podciągające są wyłączone gpio.Speed = GPIO_SPEED_FREQ_LOW; // wystarczą nieskie częstotliwości przełączania HAL_GPIO_Init(GPIOC, &gpio); // inicjalizacja modułu GPIOC gpio.Pin = GPIO_PIN_13; // 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_13) == GPIO_PIN_RESET) { uint32_t led = 0; HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_SET); //włącz diode HAL_Delay(150); HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_RESET); //wyłącz diode if (++led >= 10) { // przejdz do nastepnej led = 0; } else { uint32_t led = 10; HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_SET); //włącz diode HAL_Delay(150); HAL_GPIO_WritePin(GPIOC, 1 << led, GPIO_PIN_RESET); //wyłącz diode if (--led >= 10) { // przejdz do nastepnej led = 10; } } } } }
  8. Dziękuję pięknie wszystkim, problem rozwiązany! Okazało się że nie miałem założonego konta. Dokładnie tak jak powiedział @FlyingDutch. Jeszcze raz dziękuję za szybką pomoc i przepraszam za głupie pytanie!
  9. @KHX Próbowałem przy użyciu kilku przeglądarek i dalej nic, ciągle pokazuje mi się taki komunikat
  10. Jestem na lekcji 3 z kursu STM32 F1 HAL i próbując pobrać sterowniki z linku podanego w kursie na stronie producenta po kliknięciu w link z maila wyskakuje mi error 403. Miał może ktoś podobny problem? Z Góry dzięki za odpowiedź.
×
×
  • Utwórz nowe...