树莓派pico rp2040 SPI的使用

文章介绍了树莓派pico的rp2040芯片如何使用SPI接口,包括spi_init,spi_write_blocking和spi_read_blocking等常用API。通过0.96英寸LCD显示屏的实例,详细解释了SPI通信过程,并提到与I2C的相似性,适合初学者理解掌握。
摘要由CSDN通过智能技术生成

前言

本文旨在简单讲述树莓派pico``rp2040spi使用。本文只是对微雪的示例程序进行简单讲解,实际还需要读者自己参照ST7735手册。事实上,如果看过我上一篇关于i2c的文章,spi就不太难了。

第一章 常用spi函数

如果您有看过我之前发的关于i2c的文章,spi的使用也会比较容易。常用的api如下:

  1. spi_init(spi端口,速率)

    参数:

    spi端口:rp2040有两个spi端口,此处参数可以为spi0spi1
    用于初始化spi,在生成项目时勾选SPI,生成的项目自带了这条代码。

  2. spi_write_blocking(spi端口,数据,长度)
    参数:
    spi端口spi0spi1
    发送数据:该参数是个指针,参数一般为数组
    长度:参数发送数据的长度

  3. spi_read_blocking(spi端口,发送数据,接收数据,长度)
    参数:
    spi端口spi0spi1
    发送数据:在读取数据时发送的数据,一般为0
    接收数据:将读取的数据放到这个参数,这个参数一般为数组
    长度:参数接收数据的长度

spi常用的api就上面三个,与i2c所用的api颇为相似。

需要注意:spi在传输或命令数据前,应当先将/CS端置1,传输或命令数据完成后将/CS端置0,才能生效

第二章 0.96英寸LCD显示屏实例讲解

在淘宝上我们可以买到微雪出的一块自带显示屏的开发板。产品链接

打开微雪提供的屏幕示例程序,文件虽多,但其实并不复杂。我们首先看DEV_config.c DEV_config.h这两个文件。

在这里插入图片描述

DEV_config.h中,定义了使用到的引脚以及一些函数。其中#define LCD_BL_PIN 13这行代码可能错了,根据原理图,此处13应当改为25

在这里插入图片描述

DEV_config.h中声明了函数,在DEV_config.c中具体实现了这些函数,这里主要是对引脚的定义,以及对官方所给函数的进一步封装。
在这里插入图片描述

LCD_0in96.c实现屏幕的初始化,以及实现一些功能。

最后找到LCD_0in96_test.c,这里调用了LCD_0in96.c里的一些函数。

总结

其实i2c与spi还是挺像的,了解其中一个,另一个就比较好懂了。

至此,了解i2c与spi的使用,做个简单的毕业设计是没什么问题的,也就是连上各种模块:)

本系列文章到此应该就结束了。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

存江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值