2、SPI测试
模拟器中相关SPI的PIN值如下:
PIN=30
完整的测试代码如下:
using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using System.Threading;
namespace SPITest
{
public class Program
{
static SPI _spi;
static int QAW = 0;
public static void Main()
{
//SPI的pin定义
_spi = new SPI(new SPI.Configuration((Cpu.Pin)30, true, 0, 0, false, false, 4000, SPI.SPI_module.SPI1));
while (true)
{
SPITest();
Thread.Sleep(200);
}
}
//读写SPI数据
private static Int16 SPIReadWrite(Int16 value)
{
byte[] bout = new byte[2];
byte[] bin = new byte[2];
bout[0] = (byte)(value >> 8);
bout[1] = (byte)(value & 0xff);
_spi.WriteRead(bout, bin);
Int16 aw0 = (Int16)((bin[0] << 8) + bin[1]);
return aw0;
}
//SPI测试
public static void SPITest()
{
if (QAW++ > 100) QAW = 0;
Debug.Print("SPI: DI=" + SPIReadWrite((Int16)QAW).ToString() + " DO=" + QAW.ToString());
}
}
}
测试结果:

3、I2C测试
模拟器中相关I2C的地址如下:
地址=100
完整的测试代码如下:
using System;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using System.Threading;
namespace I2CTest
{
public class Program
{
//I2C定义 模拟器I2C地址为100 时钟速度不要设置太小否则会有问题
static I2CDevice I2CBus = new I2CDevice(new I2CDevice.Configuration(100, 200));
static int IntI2CNum = 0;
public static void Main()
{
while (true)
{
I2CTest();
Thread.Sleep(200);
}
}
//I2C测试
public static void I2CTest()
{
if (++IntI2CNum > 10) IntI2CNum = 0;
//I2C读写
byte[] bytRData = new byte[8];
byte[] bytWData = new byte[3];
bytWData[0] = (byte)IntI2CNum;
bytWData[1] = (byte)(IntI2CNum * 2);
bytWData[2] = (byte)(IntI2CNum * 3);
I2CDevice.I2CTransaction[] i2c = new I2CDevice.I2CTransaction[2];
i2c[0] = I2CBus.CreateReadTransaction(bytRData);
i2c[1] = I2CBus.CreateWriteTransaction(bytWData);
I2CBus.Execute(i2c, 100); //执行
string strPace = " ";
string strInfo = "I2C(Byte0-7):" + bytRData[0].ToString() + strPace + bytRData[1].ToString() + strPace + bytRData[2].ToString() + strPace + bytRData[3].ToString() + strPace + bytRData[4].ToString() + strPace + bytRData[5].ToString() + strPace + bytRData[6].ToString() + strPace + bytRData[7].ToString();
Debug.Print(strInfo);
}
}
}
测试结果:

4、其它测试
串口、鼠标等等测试,暂略,有兴趣的朋友可以自行测试。