eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaKonwerter usb <> UART PL2303HX vs cp2102 › Re: Konwerter usb <> UART PL2303HX vs cp2102
  • Data: 2016-04-01 04:15:30
    Temat: Re: Konwerter usb <> UART PL2303HX vs cp2102
    Od: Waldek Hebisch <h...@m...uni.wroc.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    "Bo(o)t manager" <b...@w...wp.pl> wrote:
    > On Mon, 28 Mar 2016 22:41:15 +0000, Waldek Hebisch napisa?/a:
    >
    > [ciach]
    > > Zalezy do czego konwerter. Ja debuguje przez SWD i mimo ze mam
    > > konvertery to malo je uzywam. Pakiet stlink zawiera emulacje polaczenia
    > > szeregowego przez SWD -- po stronie PC robi to program st-term, po
    > > stronie STM32 trzeba podlinkowac odpowiednia procedure. Jest klopot bo
    > > tylko jeden program moze byc podlaczony do SWD -- jak debuguje (przez
    > > st-util) to nie moge podlaczyc st-term.
    > >
    > [ciach]
    > Chodzi Ci o stlinky? W?a?nie spr?bowa?em tego ale mi nie wychodzi.
    > M?g?by? co? wi?cej o tym napisa?? By?bym wdzi?czny.
    >

    Tak, stlinky + st-term. stlinky trzeba wlaczyc do wlasnego
    projektu, ja przerobilem poczatek stlinky.h nastepujaco:

    #ifndef STLINKY_H
    #define STLINKY_H
    #define CONFIG_LIB_STLINKY_BSIZE 64
    #include <stdint.h>

    tzn. dodalem definicje CONFIG_LIB_STLINKY_BSIZE, ale mozna
    tez dac -DCONFIG_LIB_STLINKY_BSIZE=64 w linii polecenia
    kompilatora.

    Poczatek stlinky.c przerobilem jak nizej:

    // #include <arch/antares.h>
    #include <stdint.h>
    // #include <stdio.h>
    #include <string.h>
    #include "stlinky.h"

    no i zmienilem nazwe na stlinky.cpp (bo reszta byla w C++).

    W programie glownym dodalem deklaracje:

    struct stlinky stlinky_buff;

    W ramach inicjowania robie tak:

    stlinky_buff.magic = STLINKY_MAGIC;
    stlinky_buff.bufsize = CONFIG_LIB_STLINKY_BSIZE;

    W programie mam deklaracje:

    int cnt = 0;

    i kod:

    char mess[] = "mess x\n";
    mess[5] = '0'+(cnt%10);
    cnt++;
    stlinky_tx(&stlinky_buff, mess, strlen(mess));

    Jak program chodzi i uruchomie st-term to mi pokazuje:

    ST-Linky proof-of-concept terminal :: Created by Necromant for lulz
    chip id: 0x410
    core_id: 0x1ba01477
    cpuid:impl_id = 0x41, variant = 0x1
    cpuid:part = 0xc23, rev = 0x1
    sram: 0x20000000 bytes @ 0x5000
    stlinky detected at 0x20000844
    stlinky buffer size 0x64
    Entering interactive terminal. CTRL+C to exit


    mess 0
    mess 1
    mess 2
    mess 3
    mess 4
    mess 5

    itd. To jest na plytce z STM32F103C8T6 bo akurat do
    tego mam w tej chwili wszystko ustawione, ale inne rzeczy
    chodzily tak samo z F4Discovery, wiec to tez powinno.

    Komentarze:
    - jak widac st-term ma buga i wypisuje wielkosc bufora dziesietnie,
    ale daje przedrostek jakby bylo heksadecymalnie
    - ja swoje rzeczy testowe czesto kompiluje do RAM, ale z st-term
    wtedy program mi nie rusza, musialem kompilowac do flashu.

    --
    Waldek Hebisch

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: