本文最后更新于 3789 天前,其中的信息可能已经有所发展或是发生改变。
本程序使用山外库: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















