Forum: Mikrocontroller und Digitale Elektronik HTerm Input File


von Deimos (Gast)


Lesenswert?

Hallo,

ich benutze HTerm 0.6.5 um die Kommunikation mit meinem Atmel Board zu 
prüfen. Nun habe ich das Problem das ich recht viele Steuerkommandos 
senden muß und würde dies gerne in einem File ablegen. Dachte dies ist 
über Send File möglich habe es aber nicht geschafft ein Sendfile zu 
generieren das die einzelnen Befehle zusammenfasst.
In der einzel Input Zeile funktioniert das wenn ich z.b 830000100000 
sende, im Fenter darunter steht dann 830000100000\r und das Kommando 
geht.

Wenn ich nun ein Textfile mit dem selben Input über Send File schicke 
passiert gar nichts.

Hat hier jemand eine Idee wie der Aufbau sein muß oder was schief läuft?

Vielen Dank!

Gruß,

Deimos

: Gesperrt durch Moderator
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Je nachdem, in welchem Format Du Deine Ziffernreihe eingegeben hast 
(ASC, HEX, DEC oder BIN), muß Dein Textfile in demselben Format sein. 
Außerdem muß das File auch die Steuerzeichen für den Zeilenvorschub 
enthalten, falls nötig.

von Günter R. (galileo14)


Lesenswert?

Travel Rec. wrote:
> Je nachdem, in welchem Format Du Deine Ziffernreihe eingegeben hast
> (ASC, HEX, DEC oder BIN), muß Dein Textfile in demselben Format sein.

Das glaube ich nicht; ich nehme an, daß der Inhalt des Files so gesendet 
wird, wie die Zeichen dort drinstehen, d.h. jedes ASCII-Zeichen wird 
gesendet wie's in der Datei steht; ob es lesbar ist oder nicht, spielt 
keine Rolle. Das Format, von dem Du geschrieben hast (ASC, HEX, DEC oder 
BIN), bedeutet ja nur die Angabe, wie HTerm das Getippte in der 
Kommandozeile interpretieren soll, d.h. daß es beispielsweise 0x0f als 
Byte sendet, wenn Du im BIN-Format 00001111 eingetippt hast. Für 
"SendFile" ist dieses Eingabeformat aber völlig irrelevant.

von Bastelmensch nicht angemeldet da auf der Arbeit (Gast)


Lesenswert?

Hi,

ich benutze auch HTerm.

Der Inhalt der Datei wird gesendet so wie es drinsteht.

Also wenn das Zeichen = 5Dh dann wird 5Dh übertragen.

Wenn man z.B. in Ascii 12345 als File sendet, dann kommt 12345 an.

Wenn ich 12345 eintippe und dann verschicke kommt 12345\r an.

Also wenn Du das \r brauchst, dann mußt Du es in Dein zu sendendes File 
einbauen.

Lange Rede kurzer Sinn: Travel Rec. hat meiner Meinung nach recht. :-)

Gruß Bernd

von Deimos (Gast)


Lesenswert?

Hallo,

also mit \r hatte ich es schon probiert da nimmt er aber nur den ersten 
Befehl. Habe dann mal das Empangsfile aufgezeichnet dort werden die dann 
mit C und einem kleinen Viereck abgeschlossen das er hier im Post nicht 
darstellen will.
Wenn ich es damit mache nimmt er zumindest die ersten zwei Befehle. Aber 
auch sonst nichts. Im Protokoll ist festegelegt das mit Carriage Return 
die Nachricht beendet wird. Gab es da nicht mal so ein Problem zwischen 
Windows interpretation und Microcontroller?

Gruß,

Deimos

von Wolfram Q. (quehl)


Lesenswert?

ich hab das noch nicht ausprobiert, kommt demnächst, aber mit welchem 
Programm hast Du die Datei erstellt? Da gibt es gewaltige Unterschiede. 
Am Besten wäre es, sich die Datei in einem Hexeditor anzusehen. Selbst 
da könnte beim Abspeichern noch was anders interpretiert werden.

mfg

von Ravikuamr Mevada (Gast)


Angehängte Dateien:

Lesenswert?

Heloo Friends,
I have made this Program in AVR studio 6.2 for serial communication with 
Atmega16L.

/*
 * UART1st.c
 *
 * Created: 2/16/2017 11:12:50 AM
 *  Author: Labor39
 */
#define FOSC 1000000// Clock Speed
#define BAUD 9600
#define MYUBRR FOSC/16/BAUD-1
//#include <avr/delay.h>

#include <avr/io.h>

unsigned char USART_Receive( void )
{
  /* Wait for data to be received */
  while ( !(UCSRA & (1<<RXC)) );
  /* Get and return received data from buffer */
  return UDR;
}

void USART_Transmit( unsigned char data )
{
  /* Wait for empty transmit buffer */
  while ( !( UCSRA & (1<<UDRE)) );
  /* Put data into buffer, sends the data */
  UDR = data;
}

void USART_Init( unsigned int ubrr)
{
  /* Set baud rate */
  UBRRH = (unsigned char)(ubrr>>8);
  UBRRL = (unsigned char)ubrr;
  /* Enable receiver and transmitter */
  UCSRB = (1<<RXEN)| (1<<TXEN);
  /* Set frame format: 8data, 2stop bit */
  UCSRC = (3<<UCSZ0);
}

int main(void)

{

  USART_Init(MYUBRR);
    while(1)
    {
    //UDR = 'X';
    //_delay_ms(2000);
        //TODO:: Please write your application code
    USART_Transmit(USART_Receive());
    }
}

When I connect it with HTerm I got results shown in attached file. what 
ever data I transmit, it is not receiving by software. Please help me 
out.
Thanks

von Chr. M. (snowfly)


Lesenswert?

Setz doch einfach den Haken bei HEX(neben "Clear recieved")
dann siehst du was los ist.

[EDIT: Mist, nicht aufs Datum geschaut....]

: Bearbeitet durch User
von ede62 (Gast)


Lesenswert?

Hallo,
wie sieht der Input aus einer File (.txt ?) jetzt tatsächlich aus?
Immer Zeile für Zeile wie eingegeben wird übertragen? Ok.

Wie ist der Unterschied zwischen Dec. und Hex ?
Ziffern einstellig, zweistellig ? Trennzeichen dazwischen ?

0x00 0x0A 0xFF ... ?
000AFF ?
001015 ?

Gibt es Kommentarzeilen? Wie sind die gekennzeichnet?

Es wäre schön wenn das irgendwo erklärt wäre.
Ich habe bisher leider noch nix gefunden.

Mit freundlichen Grüßen
Ed62

von Adam P. (adamap)


Angehängte Dateien:

Lesenswert?

Es ist so, dass HTerm alles binär sendet.

Ob das nun Text oder Hex ist kommt nur auf die Interpretation der Datei 
bzw der Daten an.

Ob die Datei nun *.txt oder *.hex Endung hat, ist nur für das 
Betriebssystem wichtig, damit es weiß, mit welchem Programm es die Datei 
öffnen soll, z.B.
TXT Datei mit Notepad++
HEX Datei mit HxD
usw.

Erstellst du dir im Editor eine Datei wie "test.txt" und sendest diese, 
dann erhälst du auch Text, siehe "bild1.png".
1 = ASCII Darstellung
2 = HEX Darstellung

Erstellst du dir mit HxD eine Datei wie "text.hex" und sendest diese, 
dann
erhälst du Hex-Werte, wenn du diese so interpretierst "bild2.png".
deshalb gibt es ja im HTerm die möglichkeit, die empfangenen Daten nach 
Ascii, Hex, Dec oder Bin zu interpretieren.

Und es ist egal ob du die Datei nun .txt, .hex oder .blabla nennst.

! Sorry, "test.txt" wurde doppelt als Anhang angefügt !

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Ravikuamr Mevada schrieb:
> Please help me out.
Pls start a new thread in the english forum for a new topic in 
english language!

https://embdev.net/forum/microcontrollers


And use the [c] tags as proposed to format C code!

: Bearbeitet durch Moderator
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.