Senden von Messwerten über RS232

ATxmega

Neues Mitglied
19. Juni 2013
6
0
0
Sprachen
Hallo Leute,

ich hoffe ihr Könnt mir weiterhelfen.
Erst ein mal zur Hardwear, ich verwende einen ATXmega128A1 den ich in C Programmiere.

Mein Problem ist das ich einen String aus 24 Messwerten Über UART an meinen PC Übermitteln muss.
Ich habe erst einmal einfach angefangen mit den Übertragen von sollchen sachen wie "Hello World" das klappt auch ohne Probleme.

Meine Herausfoderung momentan ist es einen String zu senden der so aussehen soll Messert1;Messwert2;.........Messswert24\n\r

Ich weiß noch nicht so ganz wie ich die Messwerte in den String bekomme und dann Senden kann. ich hoffe ihr könnt mir auf die Sprünge helfen.
 
... Ich weiß noch nicht so ganz wie ich die Messwerte in den String bekomme und dann Senden kann. ich hoffe ihr könnt mir auf die Sprünge helfen.

Hallo und Willkommen in AVR-Praxis-Forum!

Wenn du die Werte als Strings benötigst, könntest du zum Beispiel einfach sprintf verwenden. Ein Beispiel findest du im GCC-Tutorial auf mikrocontroller.net.

Dirk :ciao:

Nutzung von sprintf und printf


Code:
#include <stdio.h>
#include <stdint.h>
 
// ...
// nicht dargestellt: Implementierung von uart_puts (vgl. Abschnitt UART)
// ...
 
uint16_t counter;
 
// Ausgabe eines unsigned Integerwertes
void uart_puti( uint16_t value )
{
    uint8_t puffer[20];
 
    sprintf( puffer, "Zählerstand: %u", value );
    uart_puts( puffer );
}
 
int main()
{
  counter = 5;
 
  uart_puti( counter );
  uart_puti( 42 );
}
 
Danke für den Tipp.
Hatte es aber schon anderes gelöst ist vllt nicht so schön funktioniert aber.
Sende jetzt jeden Messwärt einzeln mit einem ";" angehangen und nach dem alle Messwerte gesendet wurden kommt das \n\r hinterher.
Das versteht mein VBA Code zum Glück auch auch wenn pausen dazwischen sind.
 
hallo,

auch wenn das hier älter ist ist das ein guter start für senden/empfangen auf kommando ? :) ich überlege mir gerade wie ich mein atmega zum sprechen kriege vom android aus.

gedanken
- android app schickt jede minute #new_cmd#status#endcmd#
- avr schickt dann eine zeile #new_status#wert1;wert2;wert3;...;#endstatus#

zum steuern
- android app schickt
#new_cmd#switch5;1;switch6;0;adc0;500;adc1;323#endcmd#


oder sind meine überlegungen jetzt schon falsch?
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)