Skocz do zawartości

mobbed

Użytkownicy
  • Zawartość

    9
  • Rejestracja

  • Ostatnio

Reputacja

1 Neutralna

O mobbed

  • Ranga
    2/10

Ostatnio na profilu byli

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

  1. Cześć, posiadam domofon ACO FAM-P-2NPZSACC, w którym aktualnie przez ESP8266 sterowany jest przekaźnik, pozwalający na zdalne otwieranie bramki. Ostatnio wpadłem na pomysł, aby po odebraniu połączenia przekierować głos przez sieć lokalną na głośnik w smartfonie. Znaczy się...może wpadłem na pomysł to dużo powiedziane, bardziej pomyślałem o takiej kwestii i czy w ogóle jej zrealizowanie byłoby możliwe. O domofonie wiem tylko tyle jaki to jest model i firma, mam dostępną linie danych, do której mogę podpiąć esp, z tym, że nic nie wiem o tym jaki jest używany interfejs ani nic nie wiem o protokoł
  2. No właśnie przerwanie od TC wykonuje się przed przerwaniem od DMA o skończeniu przesyłania danych i tak w sumie mało co mi to daje, bo jedyna manipulacja to ustawienie priorytetów DMA nad UART, a nie bardzo mi to leży na rękę. Ogólnie wydaje mi się to dziwne, że mając te same priorytety przerwanie o zakończonej transmisji jest wywoływane zanim DMA prześle potwierdzenie, że przesłał wszystkie bajty... @edit Chociaż dokumentacja pokazuje, że sytuacja powinna być kompletnie odwrotna niż opisuje, no ale ja ewidentnie dostaję przerwanie od TC przed DMA. @edit2 Dobra, długa walka ale
  3. A przerwanie IDLE nie działa czasami tylko dla linii odbiorczej? Dla TX: Dla RX:
  4. Może skoro na debugu działa, to może gdzieś wsadzić po prostu opóźnienie w pętli... @edit Okej...dodałem krótkie opóźnienie po wyłączeniu DMA i wszystko działa, ale dlaczego to nie mam zielonego pojęcia.
  5. Tak, mogę na debugu - tak wygląda bufor po skopiowaniu, natomiast oczywiście na debugu wszystko działa jak skaczę po breakpointach, zapomniałem dopisać wyżej.
  6. Tak. Tekst przekazuje jako cstring "". void SendData(const char *data) { strncpy(tx_buffer, data, MAX_TX_BUFFER_SIZE); ...
  7. Cześć, już od dłuższej chwili walczę z problemem wysyłania danych przez UART z użyciem DMA, skończyły mi się pomysły, więc może ktoś inny będzie mógł mi pomóc. Mianowicie, mam klasę uart'a (projekt jest w C++), w której znajduje się bufor danych: char tx_buffer[MAX_TX_BUFFER_SIZE]; Przy każdym użyciu funkcji wysyłającej dane, przekazany cstring jako argument kopiowany jest do tego bufora i następnie wykonywana jest procedura opisana w dokumentacji dotycząca użycia DMA i UART'a. void DmaTransferProcedure() { dma->SetPeripheralAddr((uint32_t)&usart
  8. Cześć, mam problem z przekaźnikiem, który nie reaguje pomimo zmiany stanu wyjścia. Aktualnie układ jest banalny bo próbuje dojść o co może chodzić - mianowicie przekaźnik zasilony jest z VU, płytka oczywiście przez USB no i na wejście IN przekaźnika jest podawany sygnał z D5. Jeżeli przy starcie programu ustawię któryś z stanów LOW bądź HIGH, a następnie w pętli głównej co np. 3 sekundy będę zmieniał stany to ciągle zachowany jest ten pierwotny, który był ustawiony przy starcie. Wartość opóźnienia nie ma znaczenia, po prostu przekaźnik nie reaguje na zmianę LOW/HIGH - HIGH/LOW. Jeżeli podłączę
×
×
  • 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.