Crear libreria dll en C# y usarlo en un proyecto C
Publicado por cesar (2 intervenciones) el 25/07/2018 16:14:53
Saludos...les comento que estoy realizando un proyecto en LabWindows/CVI 2012 el cual es un entorno de desarrollo ANSI C, en donde hace un par de dias he estado intentando ejecutar lineas de comandos en windows para poder grabar el bootloader en un ATMEGA328P, y me sugirieron hacer uso de la funcion system() o LaunchExecutableEx() pero en ninguna de las dos logro obtener el resultado que devuelve al ejecutar las lineas de comandos (avrdude -v -patmega328p -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:\ATmegaBOOT_168_atmega328.hex:i -Ulock:w:0x0F:m), asi que lo intente en C# y les comento que he logrado obtener el resultado que deseo. Ahora lo que quisiera hacer es una libreria dll para poder usarlo en mi proyecto C, pero mi problema es que no logro encontrar buena informacion. Alguien que pueda ayudarme con este problema por favor, gracias de antemano (Dejo adjunto el codigo en C# para grabar el bootloader en el ATMEGA328P).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
System.Diagnostics.ProcessStartInfo procStartInfo = new
System.Diagnostics.ProcessStartInfo("cmd", "/c" + "avrdude -v - patmega328p -cstk500v1 -PCOM7 -b19200 -Uflash:w:C:/ATmegaBOOT_168_atmega328.hex:i -Ulock:w:0x0F:m");
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
procStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
string result = proc.StandardOutput.ReadToEnd();
string successfulResult = "avrdude: safemode: lfuse reads as FF\n" +
"avrdude: safemode: hfuse reads as DA\n" +
"avrdude: safemode: efuse reads as 5\n" +
"avrdude: safemode: lfuse reads as FF\n" +
"avrdude: safemode: hfuse reads as DA\n" +
"avrdude: safemode: efuse reads as 5\n";
if (String.Compare(result, successfulResult) > 0)
{
Console.WriteLine("Bootloader Loaded");
}
else
{
Console.WriteLine("Error loading bootloader");
}
Valora esta pregunta


0