2009-07-09 29 views
7

He estado haciendo la programación de escritorio por un tiempo, pero quiero comenzar a trabajar con la interfaz con el hardware. Específicamente, me gustaría aprender a usar los puertos serie para tomar un evento externo y alertar a mi aplicación (por ejemplo, puedo encender una cámara cuando el movimiento es detectado por un sensor externo). Por favor dígame cómo comenzar, qué tipo de sensores, qué libros (o recursos en línea) están disponibles. Intenté Bing y Google pero necesito más punteros.¿Cómo comenzar con la programación de la interfaz de hardware?

Respuesta

0

Si puede encontrar un viejo módem en línea o craigslist que podría ser un buen comienzo. Las especificaciones de comunicación serie para aquellos están bastante bien documentadas.

Después de eso, simplemente comenzaría a investigar cosas que le interesan: su interés en el proyecto impulsará el aprendizaje y progresará más que nada en la OMI.

creo que este sitio tiene algunas cosas divertidas para tratar:

http://blogs.msdn.com/coding4fun/

0

Yo te recomendaría el libro Linux Device Drivers 3rd Edition

Aunque no he programada ninguna interfaz de hardware, sin embargo, creo que este libro te preparará para comenzar a piratear.

1

Realmente no hay una gran cantidad de una sola talla para todos los consejos para esto. Tendrá que consultar la documentación de su dispositivo, debe especificar el protocolo de lo que se enviará por el puerto serie y qué comandos puede enviar a cambio.

Asegúrese de entender cosas como qué significa tener una codificación de texto como ASCII o UTF8. La mayoría de los dispositivos que envían y esperan texto usarán una codificación ASCII.

No estoy seguro de qué sistema operativo o idioma está usando, pero tenga en cuenta que está enviando datos binarios en bruto a través de un puerto en serie, por ejemplo, si está usando C#, querrá ajustar su serie la transmisión de datos del puerto con StreamWriter o StreamReader con la codificación de texto correcta.

0

Si solo quiere aprender a usar el puerto serie, obtenga otra PC con HyperTerminal (incluido gratis con Windows) y úselo para enviar y recibir datos de su máquina de desarrollo a través del puerto serie. Esto le dará un control muy manual sobre lo que se envía a su caja de desarrollo, para que pueda tener la certeza de que lo que está leyendo y escribiendo es correcto. Una vez que tenga los fundamentos de la E/S en serie, puede pasar a su cámara/sensor de movimiento/etc.

No menciona qué sistema operativo o entorno de desarrollo está utilizando, pero en VS 2005/.NET 2.0, en realidad hay una clase SerialPort. Si está haciendo la API de Windows sin procesar, MSDN tiene un artículo al http://msdn.microsoft.com/en-us/library/ms810467.aspx que cubre los conceptos básicos. Si está usando otro sistema operativo, lo siento, no estoy tan familiar (lo sé, boo silbido en mí).

Lo más importante es simplemente recordar establecer los parámetros de comunicación en ambos lados de la conexión de la misma. Hay cuatro parámetros que rigen si ambos lados pueden entenderse entre sí: velocidad en baudios, bits por byte (generalmente 8), bits de paridad (incluso paridad, paridad impar, ninguno, o siempre 1 o 0) y bits de parada. HyperTerminal también enumera una opción de "Control de flujo", le recomiendo establecerlo en "Ninguno" hasta que se sienta cómodo. El control de flujo de Xon/Xoff es una forma bastante común de hacer que la otra parte haga una pausa mientras procesas un buffer lleno de datos.

0

Compre un microcontrolador y construya un robot simple, un molino de cnc o algo así. Atmel AVR y/o PIC es el más común de lo que entiendo.

también da mucha experiencia electrónica

2

Interfaces serie son bastante simples para trabajar. Pero sí requieren algún tipo de decodificador en el otro extremo (como un UART). Otra opción sería usar el parellel port. La ventaja de utilizar un puerto paralelo es que comienza con un corte de los pines de E/S. Por lo general, puede controlar 8 dispositivos con una interfaz muy simple de construir.

La mayoría de las plataformas ofrecen una forma sencilla de acceder a los puertos LPT sin demasiado esfuerzo y, una vez más, son muy fáciles de interconectar.

resultados rápidos para tutoriales ...

puerto LPT Info ...

+0

ordenadores hoy en día no tienen puertos paralelos. ¿Ellos? – atiyar

+0

La mayoría no lo hace, pero esta publicación tiene 7 años y todavía puede usar estos patrones con dispositivos 'USB a LPT'. Mejor aún, ahora hay cientos de opciones para hacer esto sin LPT. https://www.amazon.com/s/?field-keywords=usb+gpio+module –

Cuestiones relacionadas