本程序使用山外库:http://git.oschina.net/chenxuuu/vcan-K60-V5.3
OLED使用12864屏幕,SPI串口
引脚定义:
#define OLED_SCL PTA15_OUT #define OLED_SDA PTA17_OUT #define OLED_RST PTA19_OUT #define OLED_DC PTA16_OUT #define OLED_CS PTA14_OUT /* 4线SPI使用说明: VBT 供内部DC-DC电压,3.3~4.3V,如果使用5V电压,为保险起见串一个100~500欧的电阻 VCC 供内部逻辑电压 1.8~6V GND 地 BS0 低电平 BS1 低电平 BS2 低电平 CS 片选管脚 DC 命令数据选择管脚 RES 模块复位管脚 D0(SCLK) ,时钟脚,由MCU控制 D1(MOSI) ,主输出从输入数据脚,由MCU控制 D2 悬空 D3-D7 , 低电平 , 也可悬空,但最好设为低电平 RD 低电平 ,也可悬空,但最好设为低电平 RW 低电平 ,也可悬空,但最好设为低电平 RD 低电平 ,也可悬空,但最好设为低电平 */
显示中文测试:
#include "common.h" #include "include.h" #include "oled.h" uint8 testbmp[]={};//省略 void main() { OLED_Init(); while(1) { OLED_Print(0,0,"双车追不上-启动中"); Draw_BMP(50,3,77,6,testbmp); while(1) { OLED_P6x8Str(10,7,"loading. "); DELAY_MS(500); OLED_P6x8Str(10,7,"loading.. "); DELAY_MS(500); OLED_P6x8Str(10,7,"loading..."); DELAY_MS(500); OLED_P6x8Str(10,7,"loading "); DELAY_MS(500); } } }
效果如下:
显示图片测试:
#include "common.h" #include "include.h" #include "oled.h" uint8 bmp1[]={};//省略 uint8 bmp2[]={};//省略 uint8 bmp3[]={};//省略 uint8 bmp4[]={};//省略 void main() { OLED_Init(); while(1) { Draw_BMP(0,0,73,6,bmp1); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp3); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp1); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp2); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp1); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp3); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp2); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp1); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp4); DELAY_MS(500); Draw_BMP(0,0,73,6,bmp1); DELAY_MS(500); } }
效果如下:
测试代码:http://git.oschina.net/chenxuuu/K60-test/tree/master/OLED
转载保留版权:晨旭的博客 » 《K60笔记-OLED显示》如果喜欢可以: 点击右侧上方的邮件订阅,订阅本站