内置ST7920控制器和中文字库的LCD12864的使用

前言

大家好,我是小灬贱。今天我给大家带来LCD12864的使用方法以及我的一些经验。
文章里面如有不妥之处或者表达不清晰的地方还请各位多多指教。可以在文下评论或者私信我。

软件环境

1.系统:Windows 10
2.单片机:Atmega16
3.软件环境:Atmel studio 7.0

头文件

#define F_CPU 8000000//告诉它晶振是8Mhz
#include <avr/io.h>//端口头文件
#include<util/delay.h>//延时头文件
#include <avr/pgmspace.h>//flash操作的头文件

首先我们先来了解屏幕的那么多个引脚分别是干什么的


到这里可能很多人都会有一个问题:一脚究竟是哪个脚?
好,问题不大,我这就告诉你

好,知道引脚对应的是什么功能那我们就继续了解他的控制指令

基本指令表(RE=0)

扩充指令表(RE=1)

指令详解


知道这些指令会让屏幕发什么变化还不够,最重要的就是MCU跟LCD的通信方式和通信要求;
什么是通信呢? 可以理解为MCU跟LCD之间语言(就像我跟你之间有个"普通话"),只有共同的通信方式才能传达我想传达的指令;不然就会可能出现"对牛弹琴"这种无奈又可笑的尴尬;

并行时序图


通过以上时序图,我们可以得知LCD的并行是一个跟6800一样的的通信方式
这个12864的并行通信可以分为两种

  • 使用8位数据线外加三根控制线的标准6800通信
  • 使用4位数据线外加三根控制线的半6800通信

下面是并行8位数据线的驱动代码

void LCD_WriteOneByte(unsigned char data,unsigned char cmd) //写一个字节(data,(1数据0指令))
{//使用8位数据通信模式,8位数据用的是PB口,对应12864的D0~D7(12864的数据I/O)RW_0;    //RW=0;设置写入模式(对应12864的RW)if (cmd) RS_1;//高数据 低指令(对应12864的RS)else RS_0;EN_1;//使能拉高(对应12864的EN)PORTB = data;//给数据到I/O_delay_us(10);//等电平稳定EN_0;//使能拉低,数据送出完毕_delay_us(100);//等12864接收完毕
}
void LCD_Init()
{///文字显示模式初始化代码LCD_WriteOneByte(0x30,0);_delay_ms(40);LCD_WriteOneByte(0x30,0);_delay_ms(40);//设置8位数据总线,执行基本指令集LCD_WriteOneByte(0x0c,0);_delay_ms(40);//开显示,关光标,关光标闪烁  LCD_WriteOneByte(0x02,0);_delay_ms(40);//游标移动到起始位置LCD_WriteOneByte(0x01,0);_delay_ms(40);//清屏/*//绘图模式LCD_WriteOneByte(0x30,0);_delay_ms(20);LCD_WriteOneByte(0x30,0);_delay_ms(20);//设置8位数据总线,执行基本指令集LCD_WriteOneByte(0x01,0);_delay_ms(10);//清屏LCD_WriteOneByte(0x0c,0);_delay_ms(10);//开显示,关光标,关光标闪烁LCD_WriteOneByte(0x01,0);_delay_ms(10);//清屏LCD_WriteOneByte(0x36,0);_delay_ms(20);//开绘图_delay_ms(10);*/
}

下面是并行4位数据线的驱动代码

void LCD_WriteOneByte(unsigned char data,unsigned char cmd) //写一个字节(data,(1数据0指令))
{//使用4位数据通信模式,4位数据用的是PB口的高四位(PB4~PB7)//注意:使用4线通信时功能设定指令为0x20//对应12864的D4~D7(12864的4位数据输入口)RW_0;//RW=0;设置写入模式(对应12864的RW)if (cmd) RS_1;//高数据 低指令(对应12864的RS)else RS_0;EN_1;//使能拉高(对应12864的EN)//PORTB &= 0xf0;//数据口清零PORTB = data; //先送高四位数据_delay_us(10);//等电平稳定EN_0;_delay_us(100);//等12864接收完EN_1;//使能再次拉高//PORTB &= 0xf0;//数据口清零PORTB = (data << 4);//再给低四位数据_delay_us(10);//等电平稳定EN_0;//使能拉低,数据送出完毕_delay_us(100);//等12864接收完毕}
void LCD_Init()
{///文字显示模式初始化代码LCD_WriteOneByte(0x20,0);_delay_ms(40);LCD_WriteOneByte(0x20,0);_delay_ms(40);//设置8位数据总线,执行基本指令集LCD_WriteOneByte(0x0c,0);_delay_ms(40);//开显示,关光标,关光标闪烁  LCD_WriteOneByte(0x02,0);_delay_ms(40);//游标移动到起始位置LCD_WriteOneByte(0x01,0);_delay_ms(40);//清屏/*//绘图模式LCD_WriteOneByte(0x20,0);_delay_ms(20);LCD_WriteOneByte(0x20,0);_delay_ms(20);//设置8位数据总线,执行基本指令集LCD_WriteOneByte(0x01,0);_delay_ms(10);//清屏LCD_WriteOneByte(0x0c,0);_delay_ms(10);//开显示,关光标,关光标闪烁LCD_WriteOneByte(0x01,0);_delay_ms(10);//清屏LCD_WriteOneByte(0x26,0);_delay_ms(20);//开绘图_delay_ms(10);*/
}

串行时序图


这个串行通信是一个类似3线SPI的通信方式;
他这个串行通信对应的是一个控制字节和一个用户数据(指令)字节;
首先把控制字(第一字节)写入到LCD(告诉LCD我接下来要干什么)
然后把用户数据(指令)分成两个字节写入到LCD,时序的第二字节的高四位是用户数据的高4位,低四为必须为零;第三个字节的高四位是用户数据的低4位,低四位必须为零;

void SID(unsigned char x)
{if (x) PORTC |= 0x02;//如果x大于等于1,那么I/O输出高;else PORTC &= ~0x02;//否则输出低
}
void LCD_writeOneByte(unsigned char data,unsigned char cmd)//写一个字节(data,(控制字))
{//SPI通信的控制字:写指令0xf8;//写数据0xfa;//读状态0xfc;//读数据0xfe//使用SPI数据通信模式,初始化跟8线并口一样,CS对应12864的RS,SID对应R/W,CLK对应E;CLK_0;//CLK下拉CS_1;//CS拉高,串行通信开始for(unsigned char i=0;i<8;i++)//先告诉12864我需要干什么(把控制字串入){CLK_0;SID(cmd & (1 << (7-i)));//从数据高位开始逐位写入CLK_1;}for(unsigned char i=0;i<8;i++)//然后串入数据的高位,低四位补零{CLK_0;SID((data & 0xf0) & (1 << (7-i)));//把数据的低四位强制变成0,然后在逐位写入CLK_1;}for(unsigned char i=0;i<8;i++)//然后把数据的低位移到高位再串入,低四位补零{CLK_0;SID(((data<<4) & 0xf0) & (1 << (7-i)));//把数据低位移到高位然后在把移位后的数据的低CLK_1;                                    //四位强制变成0,然后在逐位写入   }CS_0;//CS拉低,串行通信结束
}
void LCD_Init()
{///文字显示模式初始化代码LCD_WriteOneByte(0x30,0xf8);_delay_ms(40);LCD_WriteOneByte(0x30,0xf8);_delay_ms(40);//设置8位数据总线,执行基本指令集LCD_WriteOneByte(0x0c,0xf8);_delay_ms(40);//开显示,关光标,关光标闪烁 LCD_WriteOneByte(0x02,0xf8);_delay_ms(40);//游标移动到起始位置LCD_WriteOneByte(0x01,0xf8);_delay_ms(40);//清屏/*//绘图模式LCD_WriteOneByte(0x30,0xf8);_delay_ms(20);LCD_WriteOneByte(0x30,0xf8);_delay_ms(20);//设置8位数据总线,执行基本指令集LCD_WriteOneByte(0x01,0xf8);_delay_ms(10);//清屏LCD_WriteOneByte(0x0c,0xf8);_delay_ms(10);//开显示,关光标,关光标闪烁LCD_WriteOneByte(0x01,0xf8);_delay_ms(10);//清屏LCD_WriteOneByte(0x26,0xf8);_delay_ms(20);//开绘图_delay_ms(10);*/
}

以上是三个通信方式的驱动代码和初始化。
注意:使用8线或者4线并口通信时,12864的PSB要接到高电平;使用3线串口时PSB接低电平;
好啦,准备的差不多啦.PS(这里又有一个不怕死的12864,嘿嘿.肘子,给它上一课(2333))

void LCD_Writehanzi(unsigned char x,unsigned char y,unsigned char *data)//写汉字、字符(列,行,数据)
{switch(y)//定位第几行第几列开始写汉字{case 1 : LCD_writeOneByte(0x80+x,0);break;case 2 : LCD_writeOneByte(0x90+x,0);break;case 3 : LCD_writeOneByte(0x88+x,0);break;case 4 : LCD_writeOneByte(0x98+x,0);break;}while(*data!='\0')LCD_writeOneByte(*data++,1);//写入汉字
}
int main(void)
{DDRB = 0XFF;PORTB = 0X00;DDRC = 0XFF;PORTC = 0X00;//端口初始化_delay_ms(100);LCD_Init();//液晶初始化while (1) {LCD_writehanzi(0,2,"祖国母亲70");//定位第0列,第2行开始显示LCD_writehanzi(1,3,"周年快乐!!");//定位第1列,第3行开始显示}
}


然后显示图片。

void LCD_Drawing(unsigned char *data)//绘图
{for(unsigned char i=0;i<32;i++)//先写入上半屏{LCD_writeOneByte(0x80+i,0);//上板屏有32行LCD_writeOneByte(0x80,0);//第几列开始for (unsigned char q=0;q<16;q++){LCD_writeOneByte(pgm_read_byte(&*data++),1);//这里用到了取Flash的一个字节的函数}}    for(unsigned char i=0;i<32;i++)//然后写下半屏{LCD_writeOneByte(0x80+i,0);//下半屏有32行LCD_writeOneByte(0x88,0);//从第几列开始for (unsigned char q=0;q<16;q++){LCD_writeOneByte(pgm_read_byte(&*data++),1);//这里用到了取Flash的一个字节的函数}}
}
PROGMEM  const unsigned char QR[1024]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x67,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xE0,0x00,0x00,0x00,0x00,0x01,0xF7,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3D,0xC0,0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x03,0xBE,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC6,0x00,0x00,0x00,0x00,0x00,0x03,0x08,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0xE0,0x00,0x00,0x00,0x01,0x83,0x00,0x1F,0x80,0x00,0x00,0x00,0x00,0x00,0x03,0x81,0xE0,0x00,0x00,0x00,0x01,0x83,0x00,0x1C,0x60,0x00,0x00,0x00,0x00,0x00,0x01,0xC3,0x80,0x00,0x1F,0xFE,0x01,0x87,0xF0,0x18,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x01,0x00,0x1F,0xFE,0x01,0x8F,0xF8,0x18,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x80,0x0C,0x06,0x01,0xC3,0x18,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x1D,0x98,0x0C,0x06,0x07,0xE3,0x1F,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x3F,0xFC,0x0C,0x06,0x0F,0x8F,0xFF,0x09,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFC,0x0C,0x06,0x0D,0x9F,0xF8,0x03,0xBF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x0F,0xF6,0x0D,0x83,0x38,0x03,0xBB,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xE1,0x80,0x0F,0xF6,0x01,0x83,0x3C,0x03,0xB9,0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0xE1,0xF8,0x0C,0x06,0x01,0x87,0x1E,0x03,0x79,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0xDF,0xFC,0x0C,0x06,0x01,0x87,0x0E,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x0C,0x06,0x01,0x8E,0x06,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x0C,0x06,0x01,0x9C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x0F,0xFE,0x00,0x00,0x00,0x3B,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x0F,0xFE,0x00,0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x0C,0x00,0x00,0x00,0x00,0x7F,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x66,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x00,0x00,0x1F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xC0,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFC,0x00,0xF9,0xE0,0x00,0x00,0x01,0x83,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0x83,0xE0,0xE0,0x00,0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x9F,0xE7,0x80,0x70,0x00,0x00,0x3C,0x0F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x03,0xFF,0x00,0x70,0x00,0x00,0x7F,0xBF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xFC,0x00,0x70,0x00,0x00,0x73,0xFC,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x38,0x00,0x70,0x00,0x00,0x7C,0xF9,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0xE0,0x00,0x00,0x1F,0x7D,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x01,0xE0,0x00,0x00,0x0F,0xDF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x01,0xC0,0x00,0x00,0x07,0xCF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xFB,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x07,0x80,0x00,0x00,0x01,0xFC,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x0F,0x00,0x00,0x00,0x07,0xBF,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x00,0x1E,0x00,0x00,0x00,0x0F,0xCF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x3C,0x00,0x00,0x00,0x0F,0xF7,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x38,0x00,0x00,0x00,0x1C,0xFC,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x78,0x00,0x00,0x00,0x7C,0x7E,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0xF0,0x00,0x00,0x00,0x7F,0x9E,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xE1,0xE0,0x00,0x00,0x00,0x7F,0xCE,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFB,0xC0,0x00,0x00,0x00,0x3B,0xF0,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x80,0x00,0x00,0x00,0x18,0xF8,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x0E,0x3C,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x03,0x9C,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x01,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00};//图像数据
int main(void)
{DDRB = 0XFF;PORTB = 0X00;DDRC = 0XFF;PORTC = 0X00;//端口初始化LCD_Init();//液晶初始化while (1) {LCD_Drawing(QR);}
}

注意事项

注意!本文中的指令集有个别地方有按照我的理解稍加修改过!文末有原版资料

  • LCD_writeOneByte(x,y):这个子程序在并行通信方式时y=1是代表写入数据,y=0代表写入指令;在串行通信时按照资料给的控制字写入即可
  • 当模块在接受指令前,微处理器必须先确认模块内部处于非忙碌状态,即读取BF 标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF 标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
  • “RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。
  • 文本显示RAM(DDRAM)
    文本显示RAM 提供8 个×4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM与CGRAM
    的字型;KM12864可以显示三种字型,分别是半宽的HCGROM 字型、自定义字符CGRAM字型及中文库CGROM
    字型。三种字型的选择,由在DDRAM中写入的编码选择,各种字型详细编码如下:
    显示半宽字型:将一位字节写入DDRAM 中,范围为02H-7FH 的编码。
    显示CGRAM字型:将两字节编码写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码
    显示中文字型:将两字节编码写入DDRAM ,范围为A1A0H-F7FFH(GB码)或A140H-D75FH(BIG5码)的编码。
  • 绘图RAM(GDRAM)
    绘图显示RAM 提供128×8个字节的记忆空间,在更改绘图RAM 时,先连续写入水平与垂直的坐标值,再写
    入两个字节的数据到绘图RAM,而地址计数器(AC)会自动加一;整个写入绘图RAM的步骤如下:
    1、开启绘图显示功能。
    2、先将水平坐标(X)写入绘图RAM地址,再将垂直坐标(Y)写入绘图RAM 地址;

总结

通过这次学习让我学会了什么
  • 通过这次学习我学会了怎么往Atmega16的flash里存放超过内存的常量和读取我存放进去的数据;
  • 通过这次学习,大概了解了SPI通信方式的时序;
  • 通过这次学习,进一步熟悉了6800通信;
  • 通过这次学习,更加深入的了解了数据类型;
在这次学习中遇到了很多问题
  • 比如数据类型中Signed char和char的区别:其区别在于Signed char是一个变量类型,而char是一个字符类型,所以在编译的时候因为这个的区别导致编译器警告"类型不同";这个问题也多亏马先生给我讲解;非常感谢!
  • 比如Switch语句中的case,在调试过程中遇到了Switch语句不起作用的情况,看了一下警告,提示case1以定义但未使用,然后发现原来case跟1之间必须要有一个空格,代表这个是分支1的意思.也是这个语句的一个标准吧.主要是还是因为C语言的各种语句不够熟练导致的这个错误.
  • 比如在使用4线通信时,启用不了绘图功能,原来是资料上的拓展指令的功能选择缺失了一个DL,所以一直以为是0x36是开启绘图,导致其用不了绘图,到后面叫马先生帮忙查看程序何处有问题,马先生找了一会发现4线的开启绘图要0x26…(写程序也不能完全相信资料,要根据上下文勇敢的去推测寄存器设定的其他可能);感谢马先生!
    当然这一篇文章还有程序等等还有很多我未发现的问题,希望看到的网友不惜赐教.感谢!

总结一下这个工程的思路

先了解12864的引脚
了解12864的通信协议
根据引脚和通信协议时序图编写驱动代码
根据自身要求编写需要的功能子程序

好啦,12864就讲到这里

资料附上https://download.csdn.net/download/qq_35227168/11830646

明天就是新中国成立70周年的日子.祝祖国母亲70周年生日快乐!

2019/09/30

LCD 12864B V2.0的使用相关推荐

  1. MY-IMX6-EK200 Linux-4.1.15 测试手册 v2.0(4)

    [接上一章节MY-IMX6-EK200 Linux-4.1.15测试手册v2.0(3)] 2.20  RTC 测试 [测试说明]:读取并设置时间,断电重启后检查时间是否正确 [接口标识]:无 [系统设 ...

  2. c# .netframwork 4.0 调用 2.0时报错 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...

    "System.IO.FileLoadException"类型的未经处理的异常在 XXX.dll 中发生 其他信息: 混合模式程序集是针对"v2.0.50727" ...

  3. 【★更新★】高性能 Windows Socket 服务端与客户端组件(HP-Socket v2.0.1 源代码及测试用例下载)...

    HP-Socket 以前为某大型通信项目开发了一套通用 Windows Socket TCP 底层通信组件,组件代号为 HP-Socket.现在把 HP-Socket 的所有代码向大众公开,希望能对大 ...

  4. MMDetection V2.0发布!速度精度全面提升,现有检测框架最优

    本文授权转自知乎作者陈恺,https://zhuanlan.zhihu.com/p/145084667.未经作者许可,不得二次转载. MMDetection V1.0 版本发布以来,我们收到了很多用户 ...

  5. python2.0正式发布时间_终于来了!!Pyston v2.0 发布,解决 Python 慢速的救星

    给大家推荐本书<PyCharm中文指南>,把各种 PyCharm 的高效的使用技巧用GIF动态图的形式展示出来.有兴趣的可以看它的在线文档:http://pycharm.iswbm.com ...

  6. 小程序 a标签_微慕WordPress小程序增强版V2.0新版上线

    2020年7月10日,我进行了一场微信小程序的直播,直播主题:微慕小程序增强版v2.0版新功能说明, 在直播里对微慕增强版v2.0版全面阐述了新版本增加的功能. 微慕小程序增强版定位是使用wordpr ...

  7. MMDetection V2.0:更快更强的通用目标检测平台

    MMDetection V1.0 版本发布以来,我们收到了很多用户的反馈,其中有不少有价值的建议,同时也有很多开发者贡献代码,和我们一起不断完善.经过 2 个月的酝酿,再经过 3 个月的开发和打磨(也 ...

  8. AI大事件 | OpenAI员工离职创立机器人新公司,spaCy v2.0.0发布

    呜啦啦啦啦啦大家好呀,又到了本周的AI大事件时间了.过去的一周中AI圈都发生了什么?大佬们互撕了哪些问题?研究者们发布了哪些值得一读的论文?又有哪些开源的代码和数据库可以使用了?文摘菌带你盘点过去一周 ...

  9. 网站SEO优化、IIS日志分析工具 IISLogViewer V2.0 发布

    2019独角兽企业重金招聘Python工程师标准>>> PS:为了有个响亮些的名字,软件中文名更名为:点格网站日志分析器 本次发布IIS日志分析工具[IISLogViewer] V2 ...

  10. 梦心日记本V2.0完工

    不敢想象我这一个月多是怎么过来的,除了白天上班和周末有时候出去玩之外我一般都是宅在宿舍做这个梦心日记本V2.0 .自从上次V1.0的版本放出去之后受到论坛很多网友的鼓励和支持,也有不少人提出宝贵的意见 ...

最新文章

  1. netsh与用法--XP的各种网络命令
  2. AI 玩微信跳一跳的正确姿势:跳一跳 Auto-Jump 算法详解
  3. 在IOS XR上配置BFD
  4. [K8S]kubeadm国内镜像安装方式
  5. 基于JAVA+Swing+MYSQL的在线订餐管理系统
  6. CheerpJ转换JAVA使用最简教程
  7. spawn xelatex ENOENT的问题
  8. PRINCE2和PMP体系架构有何区别
  9. 爬取https://sc.chinaz.com/tupian/的图片
  10. Mybatis的xml实用的一些技巧
  11. 关于monitor模式
  12. CTF---青青子衿(无C++注册机)
  13. python的Pmw库的安装
  14. LeetCode接雨水 动态规划
  15. 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The End 导航页及收尾工作
  16. GitHub 上受欢迎的 Android UI Library整理(part_two)
  17. 谷粒商城--后端笔记(混乱)
  18. Excel 电子表格运用技巧汇总
  19. 石器时代linux单机游戏,石器时代6.0单机版(花郎折腾版)游戏
  20. PPT | ​区块链数据服务(BDS)

热门文章

  1. Firefox Focus 9.0 将新增广告拦截插件
  2. 谷歌浏览器屏蔽广告插件
  3. 大数据工程师简历_大数据工程师简历3份
  4. Labview实现画板
  5. Linux多线程基础总结
  6. vcpkg安装库时异常解决
  7. 初学3D建模有这80G笔刷简直绝了
  8. Fisker大师用ZBrush制作兽人萨尔全过程
  9. 技嘉linux支持的主板型号,详细解读主板厂商命名规则——技嘉篇
  10. 基于sisotool极点配置PI参数及基于Plecs的三相电压源逆变器仿真