当前位置:网站首页>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
边栏推荐
- 解剖生理学复习题·VIII血液系统
- 腾讯安卓开发面试,android开发的基础知识
- Web security - payload
- JS implementation force deduction 71 question simplified path
- 夏志刚介绍
- Standardized QCI characteristics
- HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅
- Special topic of rotor position estimation of permanent magnet synchronous motor -- Summary of position estimation of fundamental wave model
- JMeter server resource indicator monitoring (CPU, memory, etc.)
- 设计你的安全架构OKR
猜你喜欢
OLED屏幕的使用
数字三角形模型 AcWing 1018. 最低通行费
[weekly pit] output triangle
[network planning] Chapter 3 data link layer (3) channel division medium access control
B-jiege's tree (pressed tree DP)
Le lancement du jupyter ne répond pas après l'installation d'Anaconda
【DSP】【第二篇】了解C6678和创建工程
【Yann LeCun点赞B站UP主使用Minecraft制作的红石神经网络】
Cesium 点击绘制圆形(动态绘制圆形)
Tencent Android development interview, basic knowledge of Android Development
随机推荐
[network planning] Chapter 3 data link layer (4) LAN, Ethernet, WLAN, VLAN
小孩子學什麼編程?
New generation garbage collector ZGC
Period compression filter
22-07-05 七牛云存储图片、用户头像上传
5. 無線體內納米網:十大“可行嗎?”問題
Quel genre de programmation les enfants apprennent - ils?
Recyclerview not call any Adapter method :onCreateViewHolder,onBindViewHolder,
Jupyter launch didn't respond after Anaconda was installed & the web page was opened and ran without execution
BeagleBoneBlack 上手记
JS get browser system language
设计你的安全架构OKR
Crawler (14) - scrape redis distributed crawler (1) | detailed explanation
Oceanbase Community Edition OBD mode deployment mode stand-alone installation
Guangzhou's first data security summit will open in Baiyun District
Number of schemes from the upper left corner to the lower right corner of the chessboard (2)
Tencent T4 architect, Android interview Foundation
Gui Gui programming (XIII) - event handling
JVM_常见【面试题】
Unity making plug-ins