Se afișează postările cu eticheta Micro Framework. Afișați toate postările
Se afișează postările cu eticheta Micro Framework. Afișați toate postările

luni, 21 martie 2011

Suport pentru USB host la FEZ Panda

Intr-o postare anterioara am scris ca pe acest blog raman doar stirile referitoare la Arduino. Avand in vedere ca si placile FEZ Panda (ca si FEZ Domino, de altfel) sunt compatibile la shield-uri cu Arduino nu m-am putut abtine sa nu dau si aici vestea cea mare ;-)

GHI Electronics au binevoit sa introduca in ultima versiune de firmware suportul pentru USB host si la placile "economice" Panda si Mini!

Pana apuc sa testez si eu si vad ce si cum, aici este link-ul cu procedura "oficiala".

Vestea nu chiar atat de buna este ca, se pare, pentru a putea utiliza host-ul USB, suntem obligati sa facem debugging pe serial... Ramane de vazut daca nu se poate adauga un alt conector USB, doar pentru host, asa cum e si pe FEZ Domino...

marți, 7 decembrie 2010

Fire de executie (Threads) in .NET

Fire de executie (Threads) in .NET Micro Framework

Cu ce ne ajuta?
Procesoarele executa o singura instructiune la un moment dat. Cu toate acestea, atunci cand lucram pe un PC, ni se pare ca mai multe programe sunt rulate in acelasi timp. De fapt, fiecare program se executa un timp foarte scurt, dupa care se trece la urmatorul program, apoi la urmatorul s.a.m.d.
Folosind thread-urile din .NET Micro Framework putem amana (delay) anumite instructiuni, putem executa periodic o verificare sau o alta actiune, putem scrie pe un card SD si, in acest timp, putem face alte lucruri mai urgente.

Cum facem asta din C#?
Vestea buna este ca avem deja un thread principal in orice program! Metoda Main a programului este executata intr-un thread, astfel incat putem utiliza direct delay-uri (sleep).

using System;
using System.Threading;

using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

namespace FEZ_Panda_Application1
{
public class Program
{
public static void Main()
{
while (true)
{
Debug.Print("La culcare pentru o secunda ;-)");
Thread.Sleep(1000);
}
}
}
}


Programului va afisa, din secunda in secunda, textul:
La culcare pentru o secunda ;-)
La culcare pentru o secunda ;-)
La culcare pentru o secunda ;-)
.....

Un alt thread
Avem o instructiune care se executa la fiecare secunda... complicam un pic treaba si mai facem un thread, care sa se execute din 5 in 5 secunde.

using System;
using System.Threading;

using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;

namespace FEZ_Panda_Application1
{
public class Program
{
public static void ThreadLa5Secunde()
{
while (true)
{
Debug.Print("Din 5 in 5 secunde...");
Thread.Sleep(5000);
}
}
public static void Main()
{
Thread UnAltThread;
UnAltThread = new Thread(ThreadLa5Secunde);
UnAltThread.Start();

while (true)
{
Debug.Print("Din secunda in secunda...");
Thread.Sleep(1000);
}
}
}
}

Iesirea programului:
Din 5 in 5 secunde...
Din secunda in secunda...
Din secunda in secunda...
Din secunda in secunda...
Din secunda in secunda...
Din secunda in secunda...
Din 5 in 5 secunde...
Din secunda in secunda...
Din secunda in secunda...
Din secunda in secunda...
Din secunda in secunda...


Subiectul este extrem de vast, mai multe informatii (nu si despre Micro Framework, dar sunt bune) gasiti la:
Despre fire de executie in c# (threads)
Threading in C# - documentatie online si PDF de descarcat.

duminică, 28 noiembrie 2010

FEZ Panda si LCD serial

Am postat pe Tehnorama un mic tutorial despre utilizarea unui LCD serial impreuna cu FEZ Panda.

vineri, 26 noiembrie 2010

FEZ Panda

Am luat ieri de la RoboFun un FEZ Panda. Prin comparatie cu Arduino este o placa foarte tare!
Specificatiile sunt aici: TinyCLR.
Microcontrolerul de pe placa este un "ARM7TDMI-S microcontroller with 512KB flash, dual AHB bus architecture, USB full-speed device/host/OTG, 10/100 Ethernet, ISP/IAP, CAN, 10-bit ADC/DAC" ;-)

Am facut o actualizare de firmware si m-am gandit sa scriu un tutorial despre acest lucru.