Controlar Arduino con Lenguaje C (Puerto Serial)

Iniciado por krlosexe, 26 Enero 2015, 18:53 PM

0 Miembros y 1 Visitante están viendo este tema.

krlosexe

Buenas, estoy comenzando con Arduino y vengo a pedirles Ayuda.

Quisiera que me dieran una Idea de Como hacer para poder Enviarle instrucciones al Arduino mediante lenguaje C.

Necesito hacer un codigo en lenguaje C que me Encienda un LED al yo presionar la tecla 1 en la consola del Programa que quiero hacer en C..

Por favor nesecito su Ayuda quisiera que me dieran una idea de como hacer eso.!

Saludos
Cardenas Carlos

43H4FH44H45H4CH49H56H45H

Bueno a la rápida como no indicas el SO que usas y para no complicarte mucho puedes usar algo así:

http://www.teuniz.net/RS-232/

Solo hay que modificar void RS232_cputs para que mande solo un carácter.
Antes arduino tiene que estar programado para recibir dicho carácter y la función que va realizar.
Modificando el ejemplo de esa página se puede hacer de este modo:

#include <stdlib.h>
#include <stdio.h>

#ifdef _WIN32
#include <Windows.h>
#else
#include <unistd.h>
#endif

#include "rs232.h"


int main()
{
int i=0,
cport_nr=3,        /* /dev/ttyS0 (COM1 on windows) */
    bdrate=9600;       /* 9600 baud */

char mode[]={'8','N','2',0}, str[2];
str[0]='a'; //prender LED
str[1]='z'; //apagar LED

if(RS232_OpenComport(cport_nr, bdrate, mode))
{
printf("Can not open comport\n");
return(0);
}
while(1)
{
RS232_cputs(cport_nr, str[0]);
printf("sent: %c\n", str[0]);
#ifdef _WIN32
Sleep(3000);
#else
usleep(1000000);  /* sleep for 1 Second */
#endif
RS232_cputs(cport_nr, str[1]);
printf("sent: %c\n", str[1]);
i++;
if(i>2) break;
}
  return(0);
}


Solo necesitas modificarlo a tu proyecto.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W