June 2012 - Posts
Uno de los requerimientos habituales en nuestros diseños es la posibilidad de intercambiar tramas con otros dispositivos a través del puerto serie.
En este ejemplo, realizaremos el punto de entrada para el modulo “usbSerial” en un FEZ-Cerberus. En el siguiente ejemplo recibiremos los bytes enviados por el dispositivo anfitrión y simplemente los reenviaremos… efectivamente! “Echo Response!”.
Espero os sea útil.
PepLluis,

using Microsoft.SPOT;
using GT = Gadgeteer;
using Gadgeteer.Modules.GHIElectronics;
namespace usbSerialSample
{
public partial class Program
{
void ProgramStarted()
{
// Configurar el modulo serie
usbSerial.Configure(9600, GT.Interfaces.Serial.SerialParity.None, GT.Interfaces.Serial.SerialStopBits.One,8);
usbSerial.SerialLine.DataReceived += new GT.Interfaces.Serial.DataReceivedEventHandler(SerialLine_DataReceived);
usbSerial.SerialLine.Open();
}
void SerialLine_DataReceived(GT.Interfaces.Serial sender, System.IO.Ports.SerialData data)
{
try
{
led7r.TurnLightOn(1, true); // Indicar Recepción led 1 (modulo led7r)
int toRead = usbSerial.SerialLine.BytesToRead; // Cantidad de bytes disponibles para leer
byte[] buffer = new byte[toRead]; // Dimensionar array para leer del buffer
usbSerial.SerialLine.Read(buffer, 0, toRead); // leer bytes recibidos
usbSerial.SerialLine.Write(buffer, 0, toRead); // reenviar de vuelta bytes recibidos
led7r.TurnLightOff(7); // apagar led señalizacion "error"
led7r.TurnLightOff(1); // apagar led 1, para indicar fin operación
}
catch
{
led7r.TurnLightOn(7, true); // señalizar error encendiendo led rojo (led7r)
}
}
}
}
Esta seria la idea:
Imports Microsoft.Office.Interop
' Definir Aplicacion, Hoja y Rango
Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oRg As Excel.Range
' Iniciar excel y obtener objeto "aplicacion"
oXL = New Excel.Application
' Ajustar propiedades a tu gusto
oXL.Visible = True
oXL.DisplayAlerts = False
' Obtener una nueva hoja
oWB = oXL.Workbooks.Add
' Trabajar con la hoja 1
Dim ws As Excel.Worksheet = DirectCast(oWB.Worksheets(1), Excel.Worksheet)
ws.Cells(1, 1) = "Titulo 1"
Dim Col As Integer = 2
Dim Row As Integer
' Imaginando un LineChar con valores numericos... distribuir series en columnas
For Each s As Charting.Series In LineChar2D1.chart1.Series
ws.Cells(1, Col) = s.Name
Row = 1
For Each p As Charting.DataPoint In LineChar2D1.chart1.Series(s.Name).Points
'Mostrar valores en columnas por series
ws.Cells(Row, Col) = p.YValues(0).ToString("N2")
Row += 1
Next
Col += 1
Next
' Ajustar aspecto final (Seleccionando rangos)
oRg = CType(ws.Columns("A", Type.Missing), Excel.Range)
oRg.AutoFit()
No olvideis que en chart tambien disponemos de la utilidad 'Points.DataBindXY' para procesarlos en bloque ;-)
Espero os sea util,
PepLluis,
PD. No olvideis importar el espacio de nombres de 'Office.Interop'
Nuestra visión de compilador continua siendo el proceso por el que el código entra por un extremo, produciendo los binarios que salen por el otro. No dejes de conocer "Roslyn" pues vas a ver como los compiladores de Visual Basic y C # como API's. Estas API's van a permitir tener una vista previa de la próxima generación de modelos de objetos y de idiomas para la generación de código, el análisis y la refactorización, y el soporte para el uso de secuencias de comandos interactivos para Visual Basic y C #.
http://msdn.microsoft.com/es-es/roslyn
Saludos,
PepLluis,
Recientemente se ha anunciado Windows 8 “Preview” y Visual Studio 2012 “Release Candidate”, paralelamente y “por suerte” también han aumentado la disponibilidad de ejemplos de aplicaciones Metro para desarrolladores VB.
No dejéis de dar un paseo por : Blog del Equipo de VB
Saludos,
PepLluis,
Te gusta mi ‘GadgetoPlayer’? Cualquier cosa es posible con esta colección de dispositivos con diversos procesadores, con plataformas de distintos fabricantes y un solo entorno MicroFramework en “Visual Studio” y dos lenguajes “VB / C#”… nada mejor para desarrollar prototipos rápidos en tiempo record!
Saludos,
PepLluis,
|
Sortean un "Netduino" entre todos los usuarios que se registren y participen activamente en los foros de mfDevices.
Podeis registraros en : SaveComm
Os aconsejo que participeis!… Este Netduino puede ser vuestro!
Mucha Suerte! PepLluis,
|
 |