stm32F4Discovery mit Coocox Beispielen und Quickstart

OP (Firma: Jo) #2876688
Lesenswert?

Hallo zusammen,

Da ich mich in der letzten Zeit mit dem stm32F4 Discovery Board 
beschäftigt habe, sind einige einfache Beispielprojekte entstanden. 
Falls jemand einen schnellen Einstieg in Coocox + stm32F4 Discovery 
sucht, helfen eventuell die angehängten Daten.

Die angehängte Zip-Datei enthält folgende Daten:

- Kurzanleitung wie die Coocox-IDE zu installieren ist

- Eine Reihe von Beispielprojekten:

STM32F4_DMA_PWM:
Beispiel wie per DMA praktisch beliebig viele PWM Signale auf beliebigen 
Ausgabepins erzeugt werden können ohne Interrupt und ohne CPU-Belastung.

STM32F4_GPIO_INPUT_OUTPUT:
Die blaue Taste auf dem stm32F4Discovery wird abgefragt und eine LED 
geht an, sofern die Taste gedrückt ist

STM32F4_PWM:
Erzeugt zwei PWM-Signale per Timer

STM32F4_TIMER_INTERRUPT:
Ein Timer erzeugt einen Interrupt und eine LED blinkt

STM32F4_RANDOM_GENERATOR:
Der Zufallsgenerator wird initialisiert und es wird eine Zufallszahl auf 
der USART ausgegeben.

STM32F4_USART:
Ganze Strings mit Endezeichen werden interruptgesteuert empfangen und 
dann zurückgesendet.

STM32F4_ADC:
Der ADC wird angesteuert und gewandelte Werte über die USART versendet.

STM32F4_DAC:
Der DAC wird angesteuert und ein Spannungswert wird ausgegeben

STM32F4_DMA_USART:
Ein String wird per DMA über die USART ausgegeben

STM32F4_DMA_ADC:
Der ADC misst zwei Eingangskanäle und per DMA werden diese abgespeichert 
und per USART versendet.

STM32F4_DMA_DAC:
Eine Sinuskurve wird mittels DMA und DAC erzeugt

STM32F4_DMA_PORT:
Simples Beispiel für einen DMA-Transfer, welcher eine LED zum Blinken 
bringt.

PS: Natürlich kann es immer vorkommen, dass da noch Fehler drinn sind. 
Die Projekte sind nur als Einstieg gedacht und für Hinweise auf Fehler 
bin ich immer dankbar!

Gruß!
Jo
Angehängte Dateien:
Gast #2881130
Lesenswert?

Hallo Jo,

habe das heute Abend mal ein bisschen ausprobiert. Eine echt klasse 
Sache für einen Einsteiger. Bin grade dabei mich von der 8-Bit 
Arduino-Welt an ARM ranzutasten und habe das STM32F4-Discovery mit dem 
GPIO-Beispiel getestet. Klappt!

Besten Dank & Grüße,
HP
OP (Firma: Jo) #2883538
Lesenswert?

Hi HP,

freut mich das der Einstieg klappt. Ich habe jetzt jedoch festgestellt, 
dass noch einige der Examples fehlerhaft sind. :-(

Ich werde die korrigierten Projekte bei Gelegenheit nachreichen. Darum 
die Examples mit Vorsicht genießen und sie nur als groben Überblick 
verstehen. :)

Gruß
jo
Gast #2888704
Lesenswert?

@ jo

freut mich wenn es den Einstieg erleichtert. Ich habe jetzt jedoch 
festgestellt, dass die Projekte mit DMA etwas fehlerhaft sind bzw der 
Compiler da Murks macht.

Ich habe in der Anleitung geschrieben, dass Opimierungsstufe 3 
eingestellt werden soll. Nun habe ich aber festgestellt, dass es auch da 
Probleme geben kann. Woran das genau liegt habe ich noch nicht 
herausgefunden.

Das ganz simple Projekt mit dem Taster scheint aber immerhin zu 
funktionieren. ^^

Wie auch immer... ich werde demnächst die Projekte nochmal durchgucken 
und hier ein Update einstellen. Bis dahin gilt: Die Examples haben 
Fehler!


Gruß
Jo
#2894497
Lesenswert?

Hallo,


erst mal vielen Dank für die Beispiele.

Hast Du irgendwas an den Einstellungen in CooCox geändert?

Wenn ich sprintf aufrufe, bekomme ich einen Fehler:

undefined reference to `_getpid

Dieser tritt auch bei anderen CooCox Benutzern auf.

Bei Deinem Beispiel STM32F4_ADC funktioniert es aber.


mfg

Michael
OP (Firma: Jo) #2894877
Lesenswert?

@Michael,

in der Repository musst du noch den Punkt Retarget printf (führt 
automatisch dazu, dass auch „C Library“ markiert ist) auswählen.

Erst dann geht auch sprintf.

Ich werde die Tage ein Update der Examples einstellen mit einem 
erweiterten Quick-Start-Tut wo auch beschrieben wird wie ein neues 
Projekt erstellt wird. Da habe ich das auch nochmal drinn stehen.

Gruß
Jo
Gast #2988728
Lesenswert?

ich habe alles nach der Anleitung installiert
und wollte das Beispiel  „ GPIO_INPUT_OUTPUT“ Kompilieren leider
Funktioniert das bei mir nicht .
Vielleicht kann mir einer weiterhelfen


GCC HOME: C:\Program Files\GNU Tools ARM Embedded\4.7 2012q4\bin
compile:
    [mkdir] Created dir: D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\STM32F4_GPIO_INPUT_OUTPUT\Debug\
bin
    [mkdir] Created dir: D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\STM32F4_GPIO_INPUT_OUTPUT\Debug\
obj
       [cc] 6 total files to be compiled.
       [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wall
-ffunction-sections -g -O3 -c -DSTM32F407VG -DSTM32F4XX
-DUSE_STDPERIPH_DRIVER -D__FPU_USED "-ID:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot" "-ID:\kay\CoIDE
Projekte\Neuer Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis"
"-ID:\kay\CoIDE Projekte\Neuer Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT"
"-ID:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include"
"-ID:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib" "-ID:\kay\CoIDE
Projekte\Neuer Ordner\coocox" '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\startup\startup_stm32
f4xx.c"'  '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\main.c"' '"D:\kay\CoIDE
Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_rcc.c
"'  '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_gpio.
c"'  '"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\system_stm32f4xx.c"'
'"D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_tim.c
"'
       [cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\main.c:21:
       [cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
       [cc] <command-line>:0:0: note: this is the location of the
previous definition
       [cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include/stm32f4xx_rcc.
h:31,
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_rcc.c
:56:
       [cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
       [cc] <command-line>:0:0: note: this is the location of the
previous definition
       [cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include/stm32f4xx_gpio
.h:32,
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_gpio.
c:79:
       [cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
       [cc] <command-line>:0:0: note: this is the location of the
previous definition
       [cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\stm32f4xx.h:240:0,
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot\system_stm32f4xx.c:11
7:
       [cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
       [cc] <command-line>:0:0: note: this is the location of the
previous definition
       [cc] In file included from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_boot/stm32f4xx.h:240:0,
       [cc] <command-line>:0:0: note: this is the location of the
previous definition
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\include/stm32f4xx_tim.
h:32,
       [cc] D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis/core_cm4.h:135:0: warning:
"__FPU_USED" redefined [enabled by default]
       [cc]                  from D:\kay\CoIDE Projekte\Neuer
Ordner\coocox\STM32F4_GPIO_INPUT_OUTPUT\cmsis_lib\source\stm32f4xx_tim.c
:114:
       [cc] Starting link
       [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wl -nostartfiles
-g -Wl,-Map=STM32F4_GPIO_INPUT_OUTPUT.map -O3 -Wl,--gc-sections
-LC:\CooCox\CoIDE\configuration\ProgramData\STM32F4_GPIO_INPUT_OUTPUT
-Wl,-TC:\CooCox\CoIDE\configuration\ProgramData\STM32F4_GPIO_INPUT_OUTPU
T/arm-gcc-link.ld  -g -o STM32F4_GPIO_INPUT_OUTPUT.elf
..\obj\startup_stm32f4xx.o ..\obj\main.o ..\obj\stm32f4xx_rcc.o
..\obj\stm32f4xx_gpio.o ..\obj\system_stm32f4xx.o ..\obj\stm32f4xx_tim.o
       [cc] arm-none-eabi-gcc: error: unrecognized command line option
'-Wl'

BUILD FAILED
#2988890
Lesenswert?

andre schrieb:
> [cc] arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -Wl -nostartfiles
> -g

das einzelne "-Wl" muss da weg.
Workaround: Mach die CoIDE-Projekt-Datei mit einem Texteditor auf (ist 
nämlich eigentlich ein xml-Dokument) und such nach dem -Wl. Dann einfach 
rauslöschen und das Projekt weider mit CoIDE öffnen.
Die anderen -Wl müssen aber drin bleiben ("-Wl,--gc-sections" usw), nur 
ein nacktes -Wl ohne optionen ist halt nicht erlaubt.
Gast #2989709
Lesenswert?

Michael Frangenberg schrieb:
> Workaround: Mach die CoIDE-Projekt-Datei mit einem Texteditor auf (ist
> nämlich eigentlich ein xml-Dokument) und such nach dem -Wl. Dann einfach
> rauslöschen und das Projekt weider mit CoIDE öffnen.
> Die anderen -Wl müssen aber drin bleiben ("-Wl,--gc-sections" usw), nur
> ein nacktes -Wl ohne optionen ist halt nicht erlaubt.

Die CoIDE-Projekt-Datei habe ich mit einem Texteditor geöffnet konnte 
aber kein  -Wl finden,
In welcher Datei muss ich das -Wl entfernen



So konnte nun das Projekt Kompilieren aber es kommt in jeder zeile immer 
die Warnung: [-Wpointer-sign]



      [cc] D:\kay\Neuer Ordner\STM32F4 DISCOVERY LCD 
BOARD\stm32f4_example\libraries\embedded_gui_hal\inc/LcdHal.h:203:6: 
note: expected 'uint8_t *' but argument is of type 'char *'
       [cc] D:\kay\Neuer Ordner\STM32F4 DISCOVERY LCD 
BOARD\stm32f4_example\Libraries\Embedded_GUI_Library\src\graphicObject.c 
:2887:3:  warning: pointer targets in passing argument 3 of 
'GL_DisplayAdjStringLine' differ in signedness [-Wpointer-sign]
Gast #2989772
Lesenswert?

andre schrieb:
> aber es kommt in jeder zeile immer
> die Warnung: [-Wpointer-sign]

Wenn Du, wie empfohlen, die 1.5.1 verwendest, kannst du in dieser 
Version noch -Wall in der Kommandozeile des Compilers 
löschen(Configuration).
Es werden nichtmehr sich wiederholende Warnungen stur ausgegeben.

Ansonsten besagt diese Warnung eben genau das ;
Gast #2993399
Lesenswert?

Zunächst:
coocox 1.5.1 kann mit µVision V4.14.4.0(meine derzeitig-verwendete) 
erstellte
*.uvproj öffnen.

Die neueren Versionen nicht(ein Kniefall vor dem mächtigen KEIL?);
Lad dir mal TFT_LCD_AN3241 von ST und öffne MDK-ARM.

Wenn dein "Keil"-proj in einer anderen Version vorliegt, musst Du es als 
µVision4 Projekt öffnen(bzw.abspeichern);

Du kannst µVision in diesem Fall zum erstellen nutzen, denn das .hex ist 
nur ~8kb groß;
Dann öffnest du CoIDE, schliesst ein event. vorhandenes Projekt und 
öffnest STM32F10x_LCDDrive.uvproj  ;
- rebuild
und es wird aufgelistet, welche Files du noch manuell unter Configurtion 
includen musst.
Gast #2994189
Lesenswert?

So bin dem Link gefolgt,
Habe das Projekt mit µVision 4.53.0.0 geöffnet(Kompillieren geht ja 
nicht weil zu gross) und gespeichert als µVision4 Projekt.
Ich kann das trotzdem mit coocox 1.5.1 nicht öffnen.
Gast #2995081
Lesenswert?

So habe das jetzt mal auf nen andere Rechner versucht mit dem gleichen 
ergebniss.

1.Gespeichert
http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/an2790.zip

2.Keil geöffnet damit ich ein µVision4 Projekt erhalte.

3.CoIDE geöffnet FSMC_LCD.uvproj
  dann kommt das Fenster wie im anhang


Wiegesagt geht das nicht zu öffnen
Angehängte Dateien:
Gast #2996876
Lesenswert?

vampire schrieb:
> vampire schrieb:
>> erst beim schliessen wird das Keil-Projekt(uv2) als Project.uvproj
>> konvertiert und gespeichert;

Das habe ich auch so gemacht.
Ich komme bis zum Fenster "Convert MDK`s Projekt into CoIDE"
ich drücke dann auf "OK"
aber danach Passiert garnixs .
was mache ich denn nur Falsch
.
Gast #3016059
Lesenswert?

Falko schrieb:
> Hallo Jo!
>
> Da du schon Erfahrung mit dem DAC und DMA hast (STM32F4_DMA_DAC).
> Schafft man damit problemlos ein Sinussignal zwischen 500hz und 100kHz?
> Bräuchte ich für ein Projekt...
>
> Gruß
> Falko

100khz müsste man ausprobieren. Das hängt davon ab wie feinstufig deine 
Sinuskurve werden soll.

zu den DMA-Examples von oben:

Da sind noch einige kleinere Bugs enthalten. Bei DMA + DAC ist unter 
Anderem zu beachten die Struct Definitionen global zu halten. Das 
betrifft Coocox. Warum das so ist weiß ich nicht.

hier die Info (der 4+5 post):

http://www.coocox.org/forum/topic.php?id=2236
#3019236
Lesenswert?

Hallo zusammen,

ich habe vor mir einen STM32Fx zuzulegen, denn bin gerade dabei eine 
Steuerplatine für ein Pedelec zu entwerfen.

Da hätte ich einige Fragen:

1.) Ist es ein freier Compiler bzw. eine freie Entwicklungsumgebung?

2.) Kann man die Ansteuerung von BLDC Motoren mit Hallsensoren 
Erkennung, damit mit "Leichtigkeit" (eventuell schon fertige bzw. 
halbfertige Codes/Beispiele) programmieren?

3.) Welchen STMFx würdet ihr mir empfehlen?


Ich bedanke mich jetzt schon ganz herzlich im voraus.



Freundliche Grüße
Fab
Gast #3033668
Lesenswert?

Hat jemand schon das USART-Beispiel schon getestet? Das funktioniert bei 
mir nicht: Der µC sendet nichts zurück. Das Signal kommt an, das konnte 
ich testen.

Tx des Usb2Serialkonverters hängt an PC11, Rx an PC10. Diese Pinbelegung 
geht aus dem Code hervor.
OP (Firma: Jo) #3034378
Lesenswert?

avr schrieb:
> Hat jemand schon das USART-Beispiel schon getestet? Das funktioniert bei
> mir nicht: Der µC sendet nichts zurück. Das Signal kommt an, das konnte
> ich testen.
>
> Tx des Usb2Serialkonverters hängt an PC11, Rx an PC10. Diese Pinbelegung
> geht aus dem Code hervor.

Hi!

der String den du an den µC sendest muss in dem Beispiel mit '\n' oder 
'\r' abgeschlossen werden. Dann sollte es eigentlich funktionieren.

Gruß
Jo
Gast #3055060
Lesenswert?

Hallo,
Ich versuche nun schon eine ganze Zeit lang ein MDK-ARM Projekt mit 
Coocox zu öffnen leider ohne Erfolg.
Das Projekt liegt als µVison4 vor.
Ich nutze CooCox1.5.1

Vielleicht könnte mir einer von ihnen das als Coocox Projekt erstellen 
wenn das geht.
mfg
Angehängte Dateien:
Gast #3056616
Lesenswert?

arm neuer schrieb:
> Hallo,
> Ich versuche nun schon eine ganze Zeit lang ein MDK-ARM Projekt mit
> Coocox zu öffnen leider ohne Erfolg.
> Das Projekt liegt als µVison4 vor.
> Ich nutze CooCox1.5.1
>
> Vielleicht könnte mir einer von ihnen das als Coocox Projekt erstellen
> wenn das geht.
> mfg

Damit der Kollege nicht allein da steht habe ich mir sein Projekt mal 
gezogen,
mit dem gleichen Ergebniss dass sich dass Projekt unter CooCo 1.5.1 
nicht öffnen lässt.
Da bis jetzt auf seine Anfrage keiner geantwortet hat gehe ich mal davon 
aus
das das ganze doch nicht so trivial ist .

Bis dann
Gast #3057813
Lesenswert?

Ja genau ist dieses
Könnte ich ihre lib dafür verwenden.
>Du wirst wohl dies runterladen müssen; -dort unter LCD-init die "else" für 5" / 
7" -Display >rauskopieren; Beitrag "Re: STM32 GUI Library von ST"

Hab ich nicht gefunden
Gast #3060807
Lesenswert?

Hallo,
ich versuche mich gerade mit dem Discovery-Board in die STM32-Welt 
einzuarbeiten! (hierbei ein Dankeschön an den TE für die tollen 
Einführungs-Beispiele)
Meine Frage bezieht sich auf das Beispiel STM32F4_DMA_DAC. Und zwar 
hätte ich gerne gewusst, wie man die Ausgangsfrequenz des Sinus-Signals 
berechnet.
Bei den im Projekt verwendeten Timer-Einstellungen komme ich einfach 
nicht auf die gemessenen 932 Hz.
Hier die entsprechende Code-Sequenz des Timers:
1
void TIM6_Config(void)
2
{
3
  TIM_TimeBaseInitTypeDef    TIM_TimeBaseStructure;
4
  /* TIM6 Periph clock enable */
5
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);
6

7
  /* Time base configuration */
8
  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure);
9
  TIM_TimeBaseStructure.TIM_Period = 255;
10
  TIM_TimeBaseStructure.TIM_Prescaler = 10;
11
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
12
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
13
  TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure);
14

15
  /* TIM6 TRGO selection */
16
  TIM_SelectOutputTrigger(TIM6, TIM_TRGOSource_Update);
17

18
  /* TIM6 enable counter */
19
  TIM_Cmd(TIM6, ENABLE);
20
}

Folgender Ansatz habe ich zur Berechnung herangezogen:

APB1(42Mhz)/ (11*256*32(Anzahl Sinuswerte)) = 466 Hz, was genau der 
halben gemessenen Frequenz entspricht.

Wo liegt mein Denkfehler?

MFG OLLI
Gast #3569916
Lesenswert?

Hallo,


ich habe das UART Beispiel hier auch ausprobiert und das Problem 
gefunden:

void UART_SEND_TEXT_EXAMPLE(char *buffer)
{
  while (*buffer)
  {
    UART_SEND_EXAMPLE(*buffer);
    buffer++;
  }
}

der Compiler hat ein Problem mit while (*buffer); wenn man das 
ausklammert funktioniert kommt ein Zeichen zurück, also schein die 
Auswertung *buffer immer auf 0 zu kommen, nur warum passiert das??? Wie 
kann so etwas Elementares nicht funktionieren?
Gast #3569990
Lesenswert?

Die Optimierung O3 muß ausgeschaltet werden, dann funktioniert das 
UART-Beispiel. Die Senderoutine sollte noch umgestellt werden:

void UART_SEND_EXAMPLE(char byte)
{
    /* Wait until ready */
    while (USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET){}
    USART_SendData(USART3,byte);
}


sonst wird z.B. bei einer Startmeldung

...
        //nun Text auf der ser. Schnittstelle empfangen und 
zurücksenden.
  UART_SEND_TEXT_EXAMPLE("Start\n");
  while(1)
...


das erste Byte falsch ausgegeben

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren