Hello everybody,
I’d like to know how to use the SPI Liaison cerberus. I was inspired by an example of GHI tutorial but it does not work. I’d like your help to find out where that I have made a mistake in my code. I have two fez cerberus. One master and one slave. It has both the same code.
Thank you.
using System;
using System.Collections;
using System.Threading;
using System.Text;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Controls;
using Microsoft.SPOT.Presentation.Media;
using Microsoft.SPOT.Presentation.Shapes;
using Microsoft.SPOT.Touch;
using System.IO.Ports;
using Gadgeteer.Networking;
using GT = Gadgeteer;
using GTM = Gadgeteer.Modules;
using GTI = Gadgeteer.Interfaces;
namespace LiaisonSpiTest_Esclave_
{
public partial class Program
{
// This method is run when the mainboard is powered up or reset.
private static GTI.SPI _spi;
private static GTI.SPI.Configuration _config;
private static GT.Socket _socket;
private static byte[] writeBuffer, readBuffer;
void ProgramStarted()
{
/*******************************************************************************************
Modules added in the Program.gadgeteer designer view are used by typing
their name followed by a period, e.g. button. or camera.
Many modules generate useful events. Type +=<tab><tab> to add a handler to an event, e.g.:
button.ButtonPressed +=<tab><tab>
If you want to do something periodically, use a GT.Timer and handle its Tick event, e.g.:
GT.Timer timer = new GT.Timer(1000); // every second (1000ms)
timer.Tick +=<tab><tab>
timer.Start();
*******************************************************************************************/
Debug.Print("Program Started");
_socket = GT.Socket.GetSocket(5, true, null, null);
_config = new GTI.SPI.Configuration(false, 0, 0, false, true, 2000);
_spi = new GTI.SPI(_socket, _config, GTI.SPI.Sharing.Exclusive, _socket, GT.Socket.Pin.Six, null);
writeBuffer = new byte[5] { 83, 80, 73, 81, 75 };
readBuffer = new byte[5] ;
GT.Timer timer = new GT.Timer(100);
timer.Tick += new GT.Timer.TickEventHandler(timer_Tick);
_spi.WriteRead(writeBuffer, readBuffer);
}
void timer_Tick(GT.Timer timer)
{
_spi.WriteRead(writeBuffer, readBuffer);
}
}
}