Skocz do zawartości

Karson777

Użytkownicy
  • Zawartość

    11
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Karson777

  • Ranga
    2/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Witam, Zacząłem zabawę z USB w CubeMX. Jednak napotkałem problem, w jak powinien wyglądać kod w HALu do obsługi HOST USB? Nigdzie nie znalazłem źródeł aby poćwiczyć to na STM32. Pozdrawiam.
  2. Zanim to sprawdzę, bo w tej chwili nie mam dostępu do programu. Zapytam: 1. Jeśli nie używam przerwań (UART) i wysyłam jakieś zapytanie do zewnętrznego urządzenia i w odpowiedzi otrzymuje kilka linii odpowiedzi (tekstowych), to aby odebrać wszystkie linie muszę kilkakrotnie wystawić: HAL_UART_Receive? 2. Jeśli mam wyłączone przerwania (UART) i nie znamy ile linii tekstu dostaniemy od zewnętrznego urządzenia po zapytaniu przez HAL_UART_Transmit, to jest to możliwe do wykonania bez obsługi przerwania?
  3. Dopiero poznaje HAL-a, ale czy można łączyć przerwania UARTa z funkcją HAL_UART_Receive?
  4. Schemat standardowy: TX z RX odbiornika i odwrotnie. Zasilanie obydwu układów z 3,3V z większymi kondensatorami i odsprzęgającymi 100nF. Naprawdę dziwi mnie dlaczego po wejściu do przerwania (w standardzie HAL) w którym jest ponowne włączenie nasłuchiwania, przerwanie już przestaje działać... mimo nadchodzącego dalszego ciągu znaków.
  5. Witam, Piszę program w HALu na podstawie CubeMX. Mam problem z obsługą przerwania, a dokładnie z ponownym działaniem przerwania po pierwszej obsłudze. void HAL_UART_RxCpltCallback(UART_HandleTypeDef * huart) { if(huart->Instance==UART4) { if(RX[RX_len] == 0x0D) { RX_len = 0; } else { RX_len++; } HAL_UART_Receive_IT(&huart4, &RX[RX_len], 1); } else if(huart->Instance==USART1) { if(RX[RX1_len] == 0x0D) { RX1_len = 0; } else { RX1_len++; } HAL_UART_Receive_IT(&huart1, &RX[RX1_len], 1); } } Na początku inicjuje przez: HAL_UART_Receive_IT(&huart1, RX1, 1); HAL_UART_Receive_IT(&huart4, RX, 1); Podczas przychodzenia ciągu bajtów, najpierw zostaje obsłużony pierwszy znak w przerwaniu, ale już kolejne bajty przychodzące przez UART nie wywołują przerwania. Co ciekawe odbieranie innym portem USART (nie UART) daje poprawną obsługę przerwań całeg o ciągu bajtów. Co może powodować takie zachowanie przerwania dla UART? Pozdrawiam.
  6. Napięcie wejściowe jest w granicach 300V z pośredniego generatora. Nie mogę pójść na łatwiznę z zakupem gotowego rozwiązania, ponieważ muszę mieć regulowane napięcie wyjściowe. Natomiast problemem jest zakup sondy prądowej do oscyloskopu z powodu znacznych cen, więc będę musiał jakoś odizolować oscyloskop od urządzenia (chyba dorobię zasilanie bateryjne do oscyloskopu i sondę z większym dzielnikiem).
  7. Już się wysiliłem To w którym miejscu byłby on najodpowiedniejszy?
  8. Jak już pisałem, robię klasyczną obniżającą przetwornicę buck. Czy dobrze zakładam, że w zasadzie wystarczy zastosować snubber jeden między drenem a masą?
  9. Robiłem podobne zasilacze, ale do dzisiaj nie miałem potrzeby robić obliczeń do tych filtrów. Chodzi mi o filtr przeciwzakłóceniowy z zabezpieczeniem przed pojawieniem się zbyt wysokich napięć dla tranzystora. Tak jak pisałem wcześniej chcę wstępnie obliczyć i zastosować odpowiedni snubber aby na już na początku nie uszkodzić tranzystor wysokim napięciem, przed dalszymi próbami dokładnego doboru snubbera do tego układu (nie mogę wykorzystać do tego transili).
  10. Witam, Robię zasilacz buck na większe moce. Mam jednak mam problem ze wstępnym doborem snubbera. Poczytałem dużo informacji w internecie, ale na większe moce i napięcia trudno znaleźć dokładniejsze informacje. Jak policzyć snubber gdy na wejściu mam 300V i 100A (buck na 20kHz)? Pozdrawiam.
×
×
  • Utwórz nowe...