目录
树莓派windows iot 开发(一)
树莓派windows iot 开发(二) USB摄像机
树莓派windows iot 开发(三) 闪烁的LED
树莓派windows iot 开发(四) UART接口
树莓派windows iot 开发(五) SPI接口
树莓派的SPI总线接口有两组,SPI0和SPI1,我手头有一块SD1306的SPI显示屏。这个屏只使用了SPI的两条线SCLK和MOSI,因为不需要和屏通讯也就不需要MISO线。除了SPI数据线还需要CS线(使能)、RST线(复位)和CDS线(数据/命令)。我的屏和微软用的屏有一点差异,但是功能是兼容的。RST、CDS这二条线是连接普通的GPIO,CS连接的是SPI0的使能线。
硬件:SPI接口的SD1306 OLED显示屏一块。杜邦线7条。
树莓派开发板RPI3B+,HDMI、鼠标、USB、电源线等。
资料连接 ttps://github.com/Microsoft/Windows-iotcore-samples/tree/master/Samples/SPIDisplay
按照要求进行连线
用VS2019打开SPIDisplay样例程序
不用修改程序,直接运行。
可以看到程序已经启动了。
可以看到文字和显示屏上是一致的。怎么有点“虚呢”。这是屏幕中有反白显示,但是没有做好。
本文的目的是介绍SPI总线的操作,所以使用的代码和SPIDisplay的代码有些出入。
") rgba(220, 220, 220, 0.5); left: 0px; top: -15px; display: block;">
这是GPIO初始化的代码。设置RST和DCS为GPIO的输出模式。
") rgba(220, 220, 220, 0.5); left: 0px; top: -15px; display: block;">
主要为两个步骤
一、定义一个设置对象,用来设置外设的连接参数,如工作模式和通讯速率
settings.ClockFrequency = 10000000;
settings.Mode = SpiMode.Mode3; 无回应
二、选择和开启设备
string spiAqs = SpiDevice.GetDeviceSelector(SPI_CONTROLLER_NAME);
SpiDisplay = await SpiDevice.FromIdAsync(devicesInfo[0].Id, settings);
SpiDisplay就是定义好的SPI设备对象
设备准备好以后就可以写入数据了
") rgba(220, 220, 220, 0.5); left: 0px; top: -15px; display: block;">
DtaCommandPin.Write(GpioPinValue.High);//GPIO读写,设置 命令/数据
SpiDisplay.Write(Data);//写入SPI数据
windows iot的设备操作是由驱动程序异步操作的,所以不需要用户操心多任务同步的事。这一点比使用嵌入式操作系统要好一些。所以使用windows iot系统开发的程序简单,也会比较稳定!
此内容由EEWORLD论坛网友bigbat原创,如需转载或用于商业用途需征得作者同意并注明出处