ST7920芯片硬件SPI串行 stm32f103c8单片机移植u8g2后,定做一幅高清的logo

Posted 不打鱼光晒网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ST7920芯片硬件SPI串行 stm32f103c8单片机移植u8g2后,定做一幅高清的logo相关的知识,希望对你有一定的参考价值。

软件spiSTM32F103C8移植u8g2 在软件模拟spi模式下驱动st7920带字库 的12864显示屏 - 不打鱼光晒网 - 博客园 (cnblogs.com)

硬件spistm32f103c8硬件spi驱动st7920移植u8g2 - 不打鱼光晒网 - 博客园 (cnblogs.com)

这么牛皮的库,为啥logo那么小?不能忍啊,得给他来个超大高清logo!

 默认的logo比较小,看不清,都不全屏,怎么配得上这么高大上的项目呢?

 

void drawLogo12864(u8g2_t *u8g2)

    u8g2_SetFontMode(u8g2, 1); /*字体模式选择*/
    u8g2_SetFontDirection(u8g2, 0); /*字体方向选择*/
    u8g2_SetFont(u8g2, u8g2_font_inb27_mf); /*字库选择*/
    u8g2_DrawStr(u8g2, 15, 28, "U");

    u8g2_SetFontDirection(u8g2, 1);
    u8g2_SetFont(u8g2, u8g2_font_inb33_mn);
    u8g2_DrawStr(u8g2, 37, 14, "8");

    u8g2_SetFontDirection(u8g2, 0);
    u8g2_SetFont(u8g2, u8g2_font_inb27_mf);
    u8g2_DrawStr(u8g2, 71, 38, "g");
    u8g2_DrawStr(u8g2, 89, 36, "\\xb2");

    u8g2_DrawHLine(u8g2, 15, 41, 52);
    u8g2_DrawHLine(u8g2, 16, 42, 52);
    u8g2_DrawVLine(u8g2, 63, 38, 12);
    u8g2_DrawVLine(u8g2, 64, 39, 12);

    u8g2_SetFont(u8g2, u8g2_font_profont10_mr);
    u8g2_DrawStr(u8g2, 0, 58, "github.com/olikraus/u8g2");

 

加密芯片SPI通讯的调试

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是Motorola公司推出的一种同步串行接口技术,是一种高速的、全双工,同步的通信总线。
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线:它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。
(1)SDO/MOSI——主设备数据输出,从设备数据输入;
(2)SDI/MISO——主设备数据输入,从设备数据输出;
(3)SCLK——时钟信号,由主设备产生;
(4)CS/SS——从设备使能信号,由主设备控制。
CS作为片选信号不难理解。当总线上挂有多个从设备时,主机通过控制对应从设备的片选信号,即可选中激活该设备,完成与该设备的通讯。一般片选为低电平时,处于选中状态。
需要说明的是,SPI通信有4种不同的模式,不同的从设备可能在出厂时就是配置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以我们可以对我们的主设备的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制我们主设备的通信模式,具体如下:
Mode0:CPOL=0,CPHA=0
Mode1:CPOL=0,CPHA=1
Mode2:CPOL=1,CPHA=0
Mode3:CPOL=1,CPHA=1
时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA是用来配置数据采样是在第几个边沿。
作为特殊应用的加密芯片来说,其SPI通讯大多数采用标准SPI接口协议,但也不乏例外,调试过程中有几点注意:
1、加密芯片作为防盗版功能模块或者是数据加解密模块,大多数需作为SPI从机设备,上位机端作为SPI主机。
2、主机SPI设置成CKPOL=0 ,CKPHA=0。其含义:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,也就是SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。
3、有些加密芯片协议特殊,而且由于SPI没有同步信号功能,所以加密芯片需要借助BUSY引脚来给主机发送通知信号,当BUSY为高电平,允许SPI主设备发送数据,反之允许主机接收数据。
4、BUSY为SPI请求信号。当BUSY拉低时允许SPI主设备读取数据,此时SPI主机端将CS/SS拉低,SPI_CLK产生时钟。
5、芯片发生故障无法正常运行时可通过复位重置。

以上是关于ST7920芯片硬件SPI串行 stm32f103c8单片机移植u8g2后,定做一幅高清的logo的主要内容,如果未能解决你的问题,请参考以下文章

请教STM32F103与DSP采用SPI通信的问题!

STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT LCD128X160 ST7735S屏幕

LVGL移植STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT ST7735S跑LVGL图形demo

STM32F103基于spi实现OLED显示

创建STM32F103ZET6的HAL库工程

STM32F103(二十六)SPI通信(+两块STM32之间的SPI通信)