J'essaie de créer un fichier binaire à partir d'un fichier intelHex. Iside le fichier intelHex J'ai des données et l'adresse à laquelle je devrais écrire les données dans le fichier binaire. fichier IntelHex ressemble queCréation d'un fichier binaire à partir d'un IntelHex en C#
:10010000214601360121470136007EFE09D2190140
:100110002146017EB7C20001FF5F16002148011988
:10012000194E79234623965778239EDA3F01B2CAA7
:100130003F0156702B5E712B722B732146013421C7
:00000001FF
J'ai donc 4 lignes ici avec des données depuis le dernier nous dit thats la fin du fichier. Voici ce que je fais pour créer le fichier
while (!streamReader.EndOfStream)
{
string temp = String.Empty;
int address = 0;
line = streamReader.ReadLine();
// Get address for each data
address = Convert.ToInt32(line.Substring(3, 4), 16);
// Get data from each line
temp = line.Substring(7, 2);
if (temp == "01")
break;
else
{
temp = line.Substring(9, line.Length - 11);
string[] array = new string[(temp.Length/2)];
int j = 0;
for (int i = 0; i < array.Length; ++i)
{
array[i] = temp[j].ToString() + temp[j + 1].ToString();
j = j + 2;
}
temp = String.Empty;
for (int i = 0; i < array.Length; ++i)
{
temp = temp + Convert.ToChar(Convert.ToInt32(array[i], 16));
}
}
binaryWriter.Seek(address, SeekOrigin.Begin);
binaryWriter.Write(temp);
binaryWriter.Flush();
}
Console.WriteLine("Done...\nPress any key to exit...");
Le problème ici est que les données dans le fichier binaire dans certains endroits ne correspond pas aux données du fichier IntelHex. On dirait qu'il y a quelques données aléatoires ajoutées au fichier et je ne sais pas d'où. La première fois que j'ai vu qu'il y a une donnée supplémentaire avant les données du fichier intelHex. Par exemple, la première ligne de données commence par 21, mais dans le fichier binaire, j'ai un numéro 12 avant le 21. Je ne sais pas ce qui ne va pas ici. Espérons que quelqu'un peut m'aider ou me guider où je peux trouver quelques informations utiles sur la création de fichiers binaires en C#
Quelles sont les données aléatoires que vous voyez? (une sérigraphie peut-être) – KevinDTimm