首页 > 其他分享 >全志H3实现OLED显示

全志H3实现OLED显示

时间:2023-12-15 14:01:16浏览次数:36  
标签:Pin SPI H3 全志 spi OLED gpio GPIO

悟空派可以通过26 Pin引脚扩充SPI、IIC、UART以及GPIO功能。

此次分享通过双排插座引出的SPI,利用Python,进行经典的0.96寸OLED显示控制。

在这里插入图片描述

OLED一共有7根Pin,用杜邦线按下面对应关系将OLED模块与悟空派进行连接:

GND     -> Pin 25  
VCC     -> Pin 17 (3.3V)  
D0 SCLK -> Pin 23   
D1 MOSI -> Pin 19  
REST    -> Pin 26 (复位)  
DC      -> Pin 12 (命令和数据切换)  
CS      -> Pin 24

完成硬件连接后,开始准备Python脚本的编写。

首先需要在系统配置中打开spidev,命令行打开armbian-config

sudo armbian-config

在这里插入图片描述

按照顺序依次选择 System -> Hardware -> spi-spidev, 保存退出。

修改/boot/armbianEnv.txt文件,添加下图红色框的内容。

在这里插入图片描述

接下来需要安装两个python的库(可以在附件中下载),分别对应控制spi和gpio:

pip3 install gpio-1.0.0-py3-none-any.whl
pip3 install spidev-3.6-cp39-cp39-linux_armv7l.whl

还有一点需要注意的是为gpio export文件添加权限:

sudo chmod u=rwx /sys/class/gpio/export

最后开始Python脚本的编写,首先是spi的控制:

#导入库文件
import spidev as SPI

#声明spi
spi = SPI.SpiDev()

#打开1总线上的0号spi设备
spi.open(1,0)

#设置spi总线速度
spi.max_speed_hz = 50000000

#spi发送函数,to_send为list变量
spi.xfer(to_send)

然后是控制Rst和切换CMD、Data的Gpio控制:

import gpio as GPIO
GPIO.setup(CMDPin, GPIO.OUT)
GPIO.setup(RstPin, GPIO.OUT)

完成上述两个外设的初始化,下面声明一个8*128大小的list变量,*附件:MKP_OLED.7z来充当显存,并通过SPI发送数据的方式刷新显示,以达到OLED显示的目的。

GRAM  = []
for i in range(0,8):
    for j in range(0,128):
        GRAM.append(0x0)

这里做了一个简单的竖线移动的Demo。

标签:Pin,SPI,H3,全志,spi,OLED,gpio,GPIO
From: https://blog.51cto.com/u_15380233/8840726

相关文章

  • 你相信光吗?开源一个能进行虚拟光渲交互的全志D1s智能家居中控
    本文所介绍产品demo是在立创开源平台的开源作品**《全志D1s智能家居中控虚拟光渲交互(86盒)》**,项目选用RISC-V核心的全志D1s作为主控进行开发,并通过家庭WIFI内网,实现设备间MQTT通信,与其它开源单片机控制项目进行充分联动,旨在推广类似客制化键盘概念到智能家居领域,尝试打破各大厂商......
  • 夜莺开源版对H3C交换机设备监控(一)
    夜莺单机版部署就使用官方推荐的二进制部署:最推荐的方式,稳,升级也方便,使用系统为CentOS7.9。安装前置依赖#夜莺架构依赖MySQLyum-yinstallmariadb*systemctlenablemariadbsystemctlrestartmariadbmysql-e"SETPASSWORDFOR'root'@'localhost'=PASSWORD('1234');"......
  • CH39x产品介绍
    CH39x产品介绍芯片CH392CH395CH390接口异步串口/SPI异步串口/SPI/8位并口(仅CH395L支持)SPI网口速率10Mbps10Mbps/100Mbps(自适应)10Mbps/100Mbps(自适应)协议内置协议栈(TCP、UDP、MACRAW(仅CH392T支持))内置协议栈(TCP、UDP、MACRA......
  • CH32V307 ADC与触摸按键的使用
    CH32V307的ADC模块具有两个独立的ADC单元,12位分辨率,支持16个外部通道和2个内部信号源采样。CH32V307的触摸检测单元,借助ADC模块的电压转换功能,通过将电容量转换为电压量进行采样,实现触摸按键检测功能。检测通道复用ADC的16个外部通道,通过ADC模块的单次转换模式实现触摸按键检测。......
  • 飞凌OK113i-C全志T113-i开发板 rtl8723du WIFI 功能测试及蓝牙驱动移植
    飞凌OK113i-C全志T113-i开发板板载一个RTL8723duwifi/蓝牙二合一模块,板子出厂已经移植好了WIFI驱动但是蓝牙驱动没有,所以这篇文章我们主要做蓝牙驱动的移植和功能验证。./build.shmenuconfig在DeviceDrivers>Networkdevicesupport>WirelessLAN下找到Realtek8723DU......
  • CH395+EMQX实现MQTT应用(Windows系统)
    MQTT协议1.MQTT简介MQTT是一种基于 发布/订阅模式的轻量级消息协议,工作在TCP/IP协议族上。其最大的优点是用极少量的代码和有限的宽带为设备间提供实时可靠的消息服务。在物联网(IOT)和机器与机器(M2M)等方面有较广泛的应用。2.MQTT特性2.1发布/订阅模式,提供一对多的消息发布......
  • 目录:CH57x/CH58x/CH59x/CH32V208低功耗蓝牙应用
    外设相关:CH59x系统16位PWM使用-小舟从此逝_1-博客园(cnblogs.com)CH59X/CH58X/CH57XPWM使用-小舟从此逝_1-博客园(cnblogs.com) CH58x/CH57x硬件SPI操作外部flash学习记录-小舟从此逝_1-博客园(cnblogs.com)BLE相关:CH592/CH582/CH573/CH579服务修改-小......
  • 易基因:ChIP-seq等揭示SETD2介导H3K36me3调控结直肠癌进展的表观遗传机制|CTM研究
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。结直肠癌(Colorectalcancer,CRC)是一种复杂的多阶段疾病,由基因突变和表观遗传改变相互作用引起。组蛋白H3K36三甲基转移酶SET结构域2(SETD2)是一种表观遗传信号分子,在结直肠癌中突变率为5%。SETD2在氧化偶氮甲烷......
  • 【GD32307E-START】03 SPI-OLED显示模块移植
    【GD32307E-START】03SPI-OLED显示模块移植软硬件平台GD32F307E-STARTBoard开发板GCCMakefile|接口|说明||--------|-----------------------------------------------||GND|电源地......
  • Qt应用开发--国产工业开发板全志T113-i的部署教程
    Qt在工业上的使用场景包括工业自动化、嵌入式系统、汽车行业、航空航天、医疗设备、制造业和物联网应用。Qt被用来开发工业设备的用户界面、控制系统、嵌入式应用和其他工业应用,因其跨平台性和丰富的功能而备受青睐。Qt能够为工业领域带来什么好处:-Qt提供了强大的图形引擎,使开发......