Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Guardar un fichero Intelhex.

"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:26:56.
Responder Con Cita
  #2  
Antiguo 30-03-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:27:15.
Responder Con Cita
  #3  
Antiguo 30-03-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:27:43.
Responder Con Cita
  #4  
Antiguo 08-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:28:10.
Responder Con Cita
  #5  
Antiguo 08-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por JoseFco Ver Mensaje
Hola amigos.

Tengo dias tratando de declarar este buffer y me da error de declaracion.

Quien me de una ayudadita a ver que pasa con esta declaracion que no se deja?

Un Saludo.
Pues si, no veo donde esté declarado buffer, incluso no veo donde declaras HexBufOut que por lo que veo es del mismo tipo buffer.....

No se, algo así

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  buffer = Array [0..100] of Byte; //Declaras el tipo buffer, caracter, byte o lo que se necesite....
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private declarations }
      function writeline(ADDR,RECLEN,RECTYPE:integer;
                         var buf:buffer): string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

function TForm1.writeline(ADDR,RECLEN,RECTYPE:integer;
                    var buf:buffer): string;
var
  i:integer;
  CHKSUM:byte;
begin
  CHKSUM:=0;
  result:=':'+inttohex(RECLEN,2)+inttohex(ADDR,4)+inttohex(RECTYPE,2);
  CHKSUM:=RECLEN+lo(ADDR)+hi(ADDR);
  for i:=0 to RECLEN-1 do begin
      result:=result+inttohex(buf[ADDR+i],2);
      CHKSUM:=CHKSUM+buf[ADDR+i];
  end;
  result:=result+inttohex(256-CHKSUM,2);
end;

end.
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 09-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:28:31.
Responder Con Cita
  #7  
Antiguo 09-04-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por JoseFco Ver Mensaje
Hola egostar.

Gracias por la respuesta, ya de esa forma me reconoce la declaracion de buffer.Y si tienes razon le faltan cosas a este codigo.Lo saque de aqui.http://www.sixca.com/delphi/article/writehex.html

Tengo dias dandole vueltas y no lo entiendo.

Un saludo.
Ya veo, pero ahi mismo puedes ver lo que te falta....

Código Delphi [-]
type buffer=array of byte;  //assign as Dynamic array
var HexBuf:buffer;

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 09-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:32:07.
Responder Con Cita
  #9  
Antiguo 11-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:29:13.
Responder Con Cita
  #10  
Antiguo 12-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:29:26.
Responder Con Cita
  #11  
Antiguo 12-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:29:41.
Responder Con Cita
  #12  
Antiguo 14-04-2008
Avatar de Dedalo
Dedalo Dedalo is offline
Miembro
 
Registrado: abr 2008
Ubicación: Albacete (España)
Posts: 32
Poder: 0
Dedalo Va por buen camino
Cita:
Empezado por JoseFco Ver Mensaje

Código Delphi [-]
for i:=0 to ((usedbuf-1) div 16) do begin





Esta linea del codigo, quien me la puede explicar?
usedbuf es de donde tomare los bytes a combertir.?

Un saludo.
Esa linea es para repetir el bucle una vez por cada 16 bytes, pues cada linea del fichero intelhex describe 16 bytes binarios.
Responder Con Cita
  #13  
Antiguo 15-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:29:56.
Responder Con Cita
  #14  
Antiguo 19-04-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:30:12.
Responder Con Cita
  #15  
Antiguo 07-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:30:25.
Responder Con Cita
  #16  
Antiguo 09-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:30:42.
Responder Con Cita
  #17  
Antiguo 10-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:30:56.
Responder Con Cita
  #18  
Antiguo 12-06-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 18
MaMu Va por buen camino
A ver, HexBufOut es un array de byte, cuya dimensión de ancho de palabra está dada por ByteCnt cual número entero contenga (ojo al piojo que pasa el peine, y a no confundirse el entero decimal sin signo con un hexadecimal, a pesar de que puedan o no coincidir, en fin cada quien con su offset).
En fin, la funcion writeline es quien se encarga de la escritura del intelhex, pero donde esta el método de buffering??, no veo que se cargue en ningun lado, asi que asumo que al generar la variable con tope dimensional en 6 bytes, estos son nulos, o quizas flotantes (me recuerdan a salidas en alta impedancia). Entonces, el llenado del buffer deberia ser la inversa de writeline, pero de donde se leería?
Otra cosa, no le encuentro utilidad a la funcion write_eof, es redundante.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #19  
Antiguo 12-06-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
"Tolomeo se mudo al Polo Norte"

Última edición por JoseFco fecha: 24-12-2008 a las 02:31:12.
Responder Con Cita
  #20  
Antiguo 12-06-2008
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 18
MaMu Va por buen camino
Cita:
Empezado por JoseFco Ver Mensaje
Hola MaMu, La funcion write_eof es la que termina el formato intelhex.
EOF ( End Of File) esta funcion cuando se terminan las lineas de ese file, este genera la ultima linea a cierra el file con esa funcion.El buffer se llenara con una funcion que estaria recibiendo del serial port.Tengo que crear esta.

Un Saludo.
Si, la función la entiendo, pero en el código no encuentro en donde la estas usando.
Ahora bien, vamos a pensar la funcion de lectura, el programador, que datos nos entrega, es decir, que estructura protocolar tiene?

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Guardar un Fichero .xls o .doc en la Base de Datos jhernandez MS SQL Server 2 11-04-2008 02:32:00
Delphi y intelhex JoseFco ASM y Microcontroladores 45 28-03-2008 05:33:17
guardar en 1 fichero 1 tabla adaypr C++ Builder 2 09-09-2006 10:29:10
guardar un fichero en un campo blob apicito Firebird e Interbase 2 02-03-2005 12:01:54
Guardar un fichero Excel auxifs Servers 2 16-06-2003 16:50:47


La franja horaria es GMT +2. Ahora son las 19:16:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi