当前位置:网站首页>Use of OLED screen
Use of OLED screen
2022-07-06 20:22:00 【Kshine2017】
1. 0.96 " 7 Pin OLED The screen
- The missing part of the text in the picture is caused by the mobile phone taking pictures , It's actually a complete text .
- Reference link :
https://wenku.baidu.com/view/eb67b928b91aa8114431b90d6c85ec3a87c28b86.html
https://wenku.baidu.com/view/11e968518d9951e79b89680203d8ce2f00666590.html - Pin interpretation :
GND GND
VDD VCC 3.3V~5V
PE5 D0 CLK Clock information (SCL) SPI_CLK
PE6 D1 Data port (SDA) SPI_MOSI
PE7 RES Reset Ordinary IO
PE8 DC data / Command to choose (D/C) Ordinary IO
PE9 CS Chip selection , Low level active SPI_CS
- The connection mode of resistance is shown in the following figure , Corresponding 4 Line SPI.
- IO simulation 4 Line SPI, drive OLED
void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {
0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
GPIOA->BSRR = OLED_DC_Pin;
GPIOA->BSRR = OLED_RES_Pin;
GPIOA->BSRR = GPIO_PIN_5;//SCK pull up
GPIOA->BSRR = GPIO_PIN_7;// pull up
//CS The pin is directly connected GND
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Pin = OLED_DC_Pin|OLED_RES_Pin;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
#define MOSI_H GPIOA->BSRR = GPIO_PIN_7 //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET) //
#define MOSI_L GPIOA->BRR = GPIO_PIN_7 //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET) //
#define SCK_H GPIOA->BSRR = GPIO_PIN_5 //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET) //
#define SCK_L GPIOA->BRR = GPIO_PIN_5 //HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET) //
//#define MISO
#define NSS_H
#define NSS_L
void delayUS(uint32_t nus)
{
uint16_t i;
for(i=0;i<nus;i++)
{
}
}
// have access to SPI The way HAL_SPI_Transmit(&hspi1,&data,1,1);
void My_SPI_Transmit(unsigned char data)
{
unsigned char i; // Defining variables
for(i = 0; i < 8; i++) // loop 8 Time
{
SCK_L;
delayUS(1);
if(data&0x80)
MOSI_H;
else
MOSI_L;
data<<=1;
delayUS(1);
SCK_H;
delayUS(1);
}
}
Actually measured , MCU works in 72MHz Under the circumstances , Above My_SPI_Transmit The time of function is about 76.4 Microsecond .
Driver file
https://download.csdn.net/download/Kshine2017/85519013
边栏推荐
- Case ① | host security construction: best practice of 3 levels and 11 capabilities
- [cloud lesson] EI lesson 47 Mrs offline data analysis - processing OBS data through Flink
- Trends of "software" in robotics Engineering
- Tencent cloud database public cloud market ranks top 2!
- Speech recognition (ASR) paper selection: talcs: an open source Mandarin English code switching corps and a speech
- 【云原生与5G】微服务加持5G核心网
- Unity makes AB package
- Rhcsa Road
- Standardized QCI characteristics
- B-jiege's tree (pressed tree DP)
猜你喜欢
爬虫(14) - Scrapy-Redis分布式爬虫(1) | 详解
Trends of "software" in robotics Engineering
Introduction of Xia Zhigang
RT thread I2C tutorial
Anaconda安装后Jupyter launch 没反应&网页打开运行没执行
【每周一坑】正整数分解质因数 +【解答】计算100以内质数之和
Ideas and methods of system and application monitoring
Cesium Click to draw a circle (dynamically draw a circle)
Continuous test (CT) practical experience sharing
How does kubernetes support stateful applications through statefulset? (07)
随机推荐
BeagleBoneBlack 上手记
PowerPivot - DAX (first time)
Ideas and methods of system and application monitoring
[network planning] Chapter 3 data link layer (3) channel division medium access control
腾讯安卓开发面试,android开发的基础知识
Catch ball game 1
Quel genre de programmation les enfants apprennent - ils?
Trends of "software" in robotics Engineering
Database specific interpretation of paradigm
How to handle the timeout of golang
Tencent architects first, 2022 Android interview written examination summary
Redisson bug analysis
An East SMS login resurrection installation and deployment tutorial
Unity writes a timer tool to start timing from the whole point. The format is: 00:00:00
腾讯字节等大厂面试真题汇总,网易架构师深入讲解Android开发
【GET-4】
Unity makes AB package
数字三角形模型 AcWing 1018. 最低通行费
系统与应用监控的思路和方法
Event center parameter transfer, peer component value transfer method, brother component value transfer