Hola a todos,
Quiero compartir con ustedes lo que he logrado avanzar en programacion de pics, hoy logre hacer comunicar el pic con el pc y una aplicacion que desarrolle en C#, Es solamente un boton que coje un numero de 0 a 9 y lo envia por el puerto al pic y a la vez recibe un numero tambien de 0 a 9 procedente del pic.
Para esto me base en un codigo que encontre el este sitio:
http://www.mono-project.com/HowToSystemIOPorts
Le modifique algunas cosas para que funcionara con un boton.
El problema que he tenido hasta el momento es que no puedo enviar numeros o caracteres diferentes a numeros de un digito, quisiera saber como puedo hacer eso y que haga eso constantemente sin necesidad de pulsar el boton para cada evento
aqui dejo el codigo del pic, y el del programa en C# monodevelop
Codigo pic CCS
aqui el codigo de C#
aqui dejo el proyecto completo para ejecutar en monodevelop ubuntu Linux
http://www.**************/?d=ONRCDUVU
Aqui el video de funcionamiento:
<
Quiero compartir con ustedes lo que he logrado avanzar en programacion de pics, hoy logre hacer comunicar el pic con el pc y una aplicacion que desarrolle en C#, Es solamente un boton que coje un numero de 0 a 9 y lo envia por el puerto al pic y a la vez recibe un numero tambien de 0 a 9 procedente del pic.
Para esto me base en un codigo que encontre el este sitio:
http://www.mono-project.com/HowToSystemIOPorts
Le modifique algunas cosas para que funcionara con un boton.
El problema que he tenido hasta el momento es que no puedo enviar numeros o caracteres diferentes a numeros de un digito, quisiera saber como puedo hacer eso y que haga eso constantemente sin necesidad de pulsar el boton para cada evento
aqui dejo el codigo del pic, y el del programa en C# monodevelop
Codigo pic CCS
Código:
#include <18f2550.h> //Pic a utilizar
#use delay(clock=4000000) //Frecuancia del oscilador
#fuses XT,NOWDT //Fusibles de configuracion, OSC XT, y Watchdog Desactivado
#include "Lcd.c" //Incluimos la libreria LCD.C que viene com CCS
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)
void main(){
int valor, dato;
lcd_init();
while(1){
for(valor=0; valor<=10; valor++){
dato =getch();
printf(lcd_putc,"\f Recibi =%1D", dato);
PUTC(valor);
printf(lcd_putc,"\n Envie =%1D", valor);
delay_ms(500);
}
}
aqui el codigo de C#
Código:
using System;
using Gtk;
using System.IO.Ports;
public partial class MainWindow : Gtk.Window
{
public MainWindow () : base(Gtk.WindowType.Toplevel)
{
Build ();
}
protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}
public SerialPort mySerial;
protected virtual void OnButton1Clicked (object sender, System.EventArgs e)
{
string letra;
byte dato;
mySerial = new SerialPort("/dev/ttyS0", 9600, Parity.None, 8, StopBits.One);
mySerial.Open();
byte[] mBuffer = new byte[1];
dato=Convert.ToByte(Caja.Text);
mBuffer[0] = dato; // Dato a enviar
mySerial.Write(mBuffer, 0, mBuffer.Length);
letra = Convert.ToString(mySerial.ReadByte());//Lee dato del puerto y lo convierte a string
label1.Text=letra;
mySerial.Close(); //Cerrar puerto
}
}
aqui dejo el proyecto completo para ejecutar en monodevelop ubuntu Linux
http://www.**************/?d=ONRCDUVU
Aqui el video de funcionamiento:
<
Última edición por un moderador: