分享一个0.96的oled显示驱动,软件模拟spi和i2c


1.寄存器部分参考了原子和网上其他大佬的代码,稍作修改; 2.可快速更改控制引脚和控制方式(spi和i2c),在.h文件中修改即可; 3.对字符显示进行优化,目前可显示字符、字符串、符号十进制、可选精度小数、十六进制... 4.封装了绘图函数,绘制圆、椭圆等; 5.封装对屏操作函数,移屏、翻转等,可用于制作菜单;
资源截图
代码片段和文件信息
/**
  ******************************************************************************
  * 
  * 软件模拟spi协议(仅支持oled)
  *
  *
  * 使用说明:
  * 1.本部分支持stm32f4系列单片机;
  * 2.修改端口控制,请参考修改softspi.h文件内容;
  * 3.经测试,可使用在oled等spi设备上;
  * 4.本文件依赖文件除ST固件库外,还需delay./c.h、sys.h;
  *
  *
  * Create  :2017年12月23日
  * Update  :2017年12月23日
  * Author  :梁宗南(SERI.LJI)
  * Email :liangzongnan0214@163.com
  * Blog    :liangzongnan.com
  * QQ :494089986
  * 
  ******************************************************************************
***/



#include “oledspi.h“
#include “delay.h“


/**
  * @brief :初始化oled的spi接口
  * @note   :--
  * @param :void
  * @return :void
  *
  * @date   :2017/12/23
  * @design :
  **/
void OLED_SPI_InitConfig(void)
{
GPIO_InitTypeDef  gpio;

RCC_AHB1PeriphClockCmd((1<<(((u32)OLED_SPI_PORT - AHB1PERIPH_base)>>10)) ENABLE);//port clock enable!

gpio.GPIO_Pin   = (1< | (1< | (1< | (1< | (1< gpio.GPIO_Mode  = GPIO_Mode_OUT;
gpio.GPIO_Speed = GPIO_Speed_2MHz;
gpio.GPIO_OType = GPIO_OType_PP;
gpio.GPIO_PuPd  = GPIO_PuPd_UP;
GPIO_Init(OLED_SPI_PORT &gpio);

OLED_SPI_CS_L();
OLED_SPI_RST_L();
delay_ms(100);
OLED_SPI_RST_H();
delay_ms(100);
}



/**
  * @brief :发送一个字节数据
  * @note   :--高位先发!
  * @param :data 待发送的数据
  * @return :void
  *
  * @date   :2017/12/23
  * @design :
  **/
static void OLED_SPI_SendByte(uint8_t data)
{                        
uint8_t i;   

for(i=0; i<8; i++)
{
OLED_SPI_D0_L();
if(data & 0x80)//高位先发送!
OLED_SPI_D1_H();
else 
OLED_SPI_D1_L();
OLED_SPI_D0_H();

data <<= 1;
}




/**
  * @brief :发送命令给oled
  * @note   :--
  * @param :command 待发送的命令数据
  * @return :void
  *
  * @date   :2017/12/23
  * @design :
  **/
void OLED_SPI_WriteCommand(uint8_t command)
{
OLED_SPI_DC_L();
OLED_SPI_CS_L();

OLED_SPI_SendByte(command);

OLED_SPI_CS_H();
OLED_SPI_DC_H();
}



/**
  * @brief :发送数据给oled
  * @note   :--
  * @param :data 待发送的数据
  * @return :void
  *
  * @date   :2017/12/23
  * @design :
  **/
void OLED_SPI_WriteData(uint8_t data)
{
OLED_SPI_DC_H();
OLED_SPI_CS_L();

OLED_SPI_SendByte(data);

OLED_SPI_CS_H();
OLED_SPI_DC_H();
}

/* ******************** Copyright (C) 2017-2017 TYUT TSS-plan by SERI.LJI ******************** */










 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       41062  2018-01-22 19:58  Task_oled.c
     文件        7440  2018-01-22 19:49  Task_oled.h
     目录           0  2018-01-21 21:21  emWin
     目录           0  2018-01-21 21:34  emWinConfig
     文件        3799  2018-01-21 21:27  emWinConfigGUIConf.c
     文件        4110  2018-01-21 21:25  emWinConfigGUIConf.h
     文件       25046  2018-01-21 21:30  emWinConfigGUIDRV_Template.c
     文件        3205  2016-09-30 15:49  emWinConfigGUIDRV_Template.h
     文件        7723  2016-09-30 15:49  emWinConfigLCDConf_FlexColor_Template.c
     文件        2913  2016-09-30 15:49  emWinConfigLCDConf_FlexColor_Template.h
     文件        7774  2018-01-21 21:34  emWinConfigLCDConf_Lin_Template.c
     文件        2907  2016-09-30 15:49  emWinConfigLCDConf_Lin_Template.h
     文件        2864  2016-09-30 15:49  emWinConfigSIMConf.c
     目录           0  2018-01-21 21:21  emWinDocumentation
     文件    14348924  2016-09-30 15:50  emWinDocumentationSTemWin532.pdf
     目录           0  2018-01-21 21:21  emWinLib
     文件       17180  2016-09-30 15:49  emWinLibMCD-ST Image SW License Agreement V2.pdf
     文件     6125690  2016-09-30 15:49  emWinLibSTemWin532_CM4_Keil.lib
     目录           0  2018-01-21 21:21  emWinOS
     文件        4620  2016-09-30 15:49  emWinOSGUI_X.c
     文件        5798  2016-09-30 15:49  emWinOSGUI_X_OS.c
     文件       47504  2016-09-30 15:50  emWinRelease_Notes.html
     目录           0  2018-01-21 21:21  emWinSimulation
     文件      111416  2016-09-30 15:49  emWinSimulationGUISim.lib
     文件      122638  2016-09-30 15:49  emWinSimulationSimulationMinGW.res
     文件        3407  2016-09-30 15:49  emWinSimulationWinMain.c
     目录           0  2018-01-21 21:21  emWinSoftware
     文件      315392  2016-09-30 15:50  emWinSoftwareBmpCvtST.exe
     文件      897024  2016-09-30 15:50  emWinSoftwareFontCvtST.exe
     文件     1122304  2016-09-30 15:50  emWinSoftwareGUIBuilder.exe
     文件       81920  2016-09-30 15:50  emWinSoftwareJPEG2Movie.exe
............此处省略118个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)