资源简介
/********************************************
主控芯片:STM32F767IGT6主频216Mhz
晶体频率:HSE=25Mhz SYSCLK=216Mhz
模块型号:2.13寸墨水屏模块
通讯方式:SPI串口通信
函数功能:声明2.13寸墨水屏模块使用的函数与IO
作者:苏夏雨
授权:未经作者允许,禁止转载
********************************************/
//定义模块头文件名称
#ifndef __213PAPER_H
#define __213PAPER_H
//定义模块使用的引脚
#define CS(n) {n?HAL_GPIO_WritePin(GPIOH,GPIO_PIN_4,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOH,GPIO_PIN_4,GPIO_PIN_RESET);}
#define DC(n) {n?HAL_GPIO_WritePin(GPIOH,GPIO_PIN_3,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOH,GPIO_PIN_3,GPIO_PIN_RESET);}
#define DIN(n) {n?HAL_GPIO_WritePin(GPIOH,GPIO_PIN_2,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOH,GPIO_PIN_2,GPIO_PIN_RESET);}
#define CLK(n) {n?HAL_GPIO_WritePin(GPIOH,GPIO_PIN_5,GPIO_PIN_SET):HAL_GPIO_WritePin(GPIOH,GPIO_PIN_5,GPIO_PIN_RESET);}
//声明需要使用的函数
void paperinit(void);//墨水屏模块初始化
void paperdisplay(void);//刷新一次墨水屏显示内容
void papersetstring(unsigned char color);//设置墨水屏显示内容
//声明需要使用的数据
//IMG2lcd设置参数:(单色、C语言数组、分辨率212*104、垂直扫描、自右至左扫描)
代码片段和文件信息
/********************************************
主控芯片:STM32F767IGT6主频216Mhz
晶体频率:HSE=25Mhz SYSCLK=216Mhz
模块型号:2.13寸墨水屏模块
通讯方式:SPI串口通信
函数功能:2.13寸墨水屏模块的初始化、显示等函数
作者:苏夏雨
授权:未经作者允许,禁止转载
********************************************/
#include “213PAPER.h“
#include “stm32f7xx.h“
#include “stm32f7xx_hal.h“
void paperdelay(unsigned long time)//软件延时
{
for(;time>0;time--);
}
void sendbyte(unsigned char D0)//SPI总线发送1byte
{
unsigned i;
for(i=0;i<8;i++)
{
CLK(0);
DIN(D0&0x80);
CLK(1);
D0<<=1;
}
}
void writecmd(unsigned char D1)//写命令
{
CS(0);
DC(0);
sendbyte(D1);
CS(1);
}
void writedata(unsigned char D2)//写数据
{
CS(0);
DC(1);
sendbyte(D2);
CS(1);
}
void paperinit()//墨水屏初始化
{
GPIO_InitTypeDef GPIO_InitStructure;//GPIO变量
__HAL_RCC_GPIOH_CLK_ENABLE();
GPIO_InitStructure.Pin=(GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5);
GPIO_InitStructure.Mode=GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.Pull=GPIO_PULLUP;
GPIO_InitStructure.Speed=GPIO_SPEED_HIGH;
HAL_GPIO_Init(GPIOH&GPIO_InitStructure);
paperdelay(50000000);
writecmd(0x01);
writedata (0x07); //设置高低电压
writedata (0x00);
writedata (0x0a);
writedata (0x00);
writecmd(0x06); //boost设定
writedata (0x07);
writedata (0x07);
writedata (0x07);
writecmd(0x04); //上电
paperdelay(50000000);
writecmd(0X00);
writedata(0xcf); //选择最大分辨率
writecmd(0X50);
writedata(0x37);
writecmd(0x30); //PLL设定
writedata (0x29);
writecmd(0x61); //像素设定
writedata (0x68); //200像素
writedata (0x00); //300像素
writedata (0xd4);
writecmd(0x82); //vcom设定
writedata (0x0a);
writecmd(0x12);
paperdelay(50000000); //wait for fresh display
writecmd(0x82); //to solve Vcom drop
writedata(0x00);
writecmd(0x01); //power setting
writedata(0x02); //gate switch to external
writedata(0x00);
writedata(0x00);
writedata(0x00);
paperdelay(50000000);
writecmd(0X02); //power off
paperdelay(50000000);
}
void paperdisplay()
{
unsigned int i;
writecmd(0x13);//黑白显示
paperdelay(50000000);
for(i=0;i<2756;i++){writedata(PAPER2[i]);paperdelay(1000);};
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2402 2019-07-03 21:41 2.13寸电子墨水屏驱动(正点原子阿波罗开发板运行通过)\213PAPER.c
文件 29493 2019-07-03 21:22 2.13寸电子墨水屏驱动(正点原子阿波罗开发板运行通过)\213PAPER.h
目录 0 2019-08-27 23:01 2.13寸电子墨水屏驱动(正点原子阿波罗开发板运行通过)\
- 上一篇:猜动物游戏.zip
- 下一篇:Dijkstra最短路径算法C语言实现
相关资源
- Windows文件系统过滤驱动开发教程(第
- CAN总线源代码c语言
- cs5532 的驱动程序C语言
- 如何用C语言编写步进电机驱动程序
- 40G郁金香VC++游戏辅助制作视频教程如
- SuperPid修改进程PID工具驱动级.别名.
- c++ c 数据结构 课程设计 学生成绩管理
- NFC驱动代码PN532
- BS8116A驱动代码
- C语言大作业 菜单驱动的学生成绩管理
- SED1520 C语言驱动程序
- CH422原厂C语言驱动
- 基于51单片机Max7219驱动8×8点阵PROTEU
- AD5420驱动C语言
- TM1629系列驱动代码
- STM32 LCD12864并口驱动实验 完整C语言代
- 驱动程序加载
- DSP 28335 BLDC无传感器驱动程序代码
- ADS1115的51单片机驱动
- HMC5883驱动,C语言
- 格子玻尔兹曼方法计算顶盖驱动流源
- 595驱动点阵显示
- OK6410的dht11温度传感器驱动
- ADS1220驱动参考程序
- 51单片机驱动步进电机(含电路图和
- mpu9250驱动C语言源码 磁力计校准算法
- SSD1306驱动
- PT100温度传感器驱动
- 二维码驱动C语言
- STM32F3 LCD1602 I2C驱动代码 C语言
评论
共有 条评论