Skocz do zawartości

Wysylanie ramki za pomoca USART Lin dla STM32f407


Pomocna odpowiedź

Napisano (edytowany)

witam . czy ktos moglby mi pomoc gdzie znajde kod lub jak go napisac w C aby wyslac ramke do urzadzenia przez LIN dla stm32f407. ... ramka ktora musze wyslac to 

761507770_Capturadepantalla2024-03-25131321.thumb.png.b1e60e650d2c48ba3a1a037ca8ed5733.png

Traceiver lin tla1020

 Konfiguracja STM32CubeIDE w zalaczniku ...

 

 

z gory dziekuje za pomoc

 

Captura de pantalla 2024-03-25 131712.png

Captura de pantalla 2024-03-25 131735.png

Captura de pantalla 2024-03-25 131806.png

Edytowano przez siwyzg

Nie mam pojecia co jest nie tak ... przepisalem kod z linku ale i tak nie odpala ....

nie ma ktos gotowego kodu  _?  chodzi tylko o wysylanie ramki .

Prosze o pomoc

(edytowany)

Mi coś takiego chat wyrzucił:

#include <stdint.h>

// Funkcje pid_Calc i checksum_Calc muszą być dostępne w twoim kodzie

int main() {
    // Inicjalizacja tablicy TxData o rozmiarze 12 (8 danych + ID + DLC + sync + checksum)
    uint8_t TxData[12];

    // Ustawienie pola synchronizacji
    TxData[0] = 0x55;

    // Ustawienie ID ramki na 50
    TxData[1] = 50;

    // Ustawienie DLC na 8
    TxData[2] = 8;

    // Ustawienie danych
    TxData[3] = 0xFF;
    TxData[4] = 0xFF;
    TxData[5] = 0xFF;
    TxData[6] = 0x42;
    TxData[7] = 0xC1;
    TxData[8] = 0xFB;
    TxData[9] = 0x03;
    TxData[10] = 0x5F;

    // Obliczenie PID i checksumy
    TxData[11] = pid_Calc(TxData[1]);
    TxData[12] = checksum_Calc(TxData[11], TxData + 3, TxData[2]);

    // Przesłanie ramki przez interfejs UART
    HAL_LIN_SendBreak(&huart1);  // Sygnał przerwy LIN
    HAL_UART_Transmit(&huart1, TxData, 13, 1000);  // Przesłanie danych przez UART

    // Opóźnienie przed kolejnym wysłaniem
    HAL_Delay(1000);

    return 0;
}


Można się tym posugerować, zawsze to jakieś dodatkowe info jak rozwiązać problem

Edytowano przez blenderman
dodanie informacji

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...