您的位置 首页 > 数码极客

如何给SPI寄存器写入值

SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。

SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

一,SPI部分内容介绍

1,SPI内部示意图

MISO 主设备数据输入,从设备数据输出;

MOSI 主设备数据输出,从设备数据输入;

SCLK时钟信号,由主设备产生;

CS从设备片选信号,由主设备控制。

2,SPI工作原理

(1)主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。

(2)串行移位寄存器通过MOSI信号线将字节传送给从机,从机也将自己的串行移位寄存器中的内容通过MISO信号线返回给主机。这样,两个移位寄存器中的内容就被交换。

(3)外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。

二,程序编写实验

与IIC的读写程序相类似。

用开关KEY_UP的按下与松开来切换不同的字符串分别写入Flash,再通过LCD显示出来。

实验预期效果:程序启动运行后,LCD显示出一组字符串,代表从Flash中读取出来的数据;当按下KEY_UP,LCD显示出另一组字符串,代表Flash又重写入另一组数据;KEY_UP再松开,LCD显示出原先的字符串。

程序编写,只需要一个主VI。

(一)程序步骤:

1,LCD初始化

2,SPI2初始化

3,Flash ID读取

4,Flash字节数组写入

5,Flash字节数组读取

6,LCD清除背景

7,LCD字符串显示

程序编写:

1,LCD初始化

2,SPI2初始化

硬件SPI W25Q64连接图:

3,Flash ID读取

4,Flash字节数组写入

KEY_UP按下或松开,分别给Flash写入不同的字符串:字符串转换成字节数组再写入。

5,Flash字节数组读取

字节数组转换成字符串,将送至LCD显示。

6,LCD清除背景

7,LCD字符串显示

完整的程序

三,编译,下载到开发板,程序运行后,进行KEY_UP按键操作,效果如预期。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何给SPI寄存器写入值”边界阅读