搞了几天!最后总结一句!看文档不仔细,就是坑爹!是严重坑爹!

刚开始,这块液晶,我拿stc12c5a60s2来驱动,能点亮!

然后把51上的驱动,移植到F4里。到F4下测,死活都是白屏,刚开始以为是接错线了。。反复来核对接线!(接线是痛苦的,5555555说多了都是泪!)

反正这两天,都在跟这些线和lcd驱动较真。。死活找不到问题出在哪!(想摔了这屏啊,很冲动的啊!有木有啊!

国内国外的论坛啊,各种找资料啊!倒是看到一篇f103驱动s6d1121的驱动文章,拿着f103的驱动移植到f4里。。还是木有成功!(更想摔了,有木有!)

无奈了,重新看卖家给的资料。无意中看到了一句话〉〉〉

模块用户通过PCB背面的j3焊盘设置8/16位接口, 短接j3焊盘模块工作在16位模式,不短接工作在8位模式!

拿着液晶看j3,居然不短接!瞬间明白了!于是拿焊锡把焊盘点上。再烧程序!O了!

==========================================================================================================================

在回头看看51的环境。拿51测的时候,我都是把16个I/O口全接上。因为看程序,以为默认就是16位的!也就没注意。

#ifdef  Bus_16    //条件编译-16位数据模式
void LCD_Writ_Bus(char VH,char VL)   //并行数据写入函数
{LCD_DataPortH=VH; LCD_DataPortL=VL;      LCD_WR=0;LCD_WR=1;
}
#else           //条件编译-8位数据模式
void LCD_Writ_Bus(char VH,char VL)   //并行数据写入函数
{   LCD_DataPortH=VH;  LCD_WR=0;LCD_WR=1;LCD_DataPortH=VL;      LCD_WR=0;LCD_WR=1;
}
#endif

现在回头看,我擦。没#define Bus_16..这不是坑爹坑到家了吗?

说多了都是泪啊!泪啊!啊!啊!啊!,总之以后看文档看数据手册要仔细啊!

-------------------------------------------------------------------------------------

硬件接线:

PD4    -----FSMC_NOE   ----RD
PD5    -----FSMC_NWE  ----WR
PD7    -----FSMC_NE1   ----CS
PD11  -----FSMC_A16    ----RS

PB5(或3V的引脚)-------------LCD_A

以下为LCD的驱动程序:

#include "lcd.h"#define LCD_RAM   *(vu16*)((u32)0x60020000)  //disp Data ADDR
#define LCD_REG   *(vu16*)((u32)0x60000000)  //disp Reg  ADDRstatic sFONT *LCD_Currentfonts;
sFONT Font16x24;static __IO uint16_t TextColor = 0x0000, BackColor = 0xFFFF;
/*************************************************************************************************************** 函数名:GPIO_AF_FSMC_Config()* 输入  :void* 输出  :void* 描述  :配置LCD连接的GPIO复用连接到FSMC* 调用  :内部调用        *****************************************************************************************************************/
static void GPIO_AF_FSMC_Config(void)
{/*配置GPIOD相应的管脚复用连接到FSMC*/GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_FSMC);             //配置GPIOD的Pin0复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_FSMC);            //配置GPIOD的Pin1复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource4,GPIO_AF_FSMC);            //配置GPIOD的Pin4复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource5,GPIO_AF_FSMC);            //配置GPIOD的Pin5复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource7,GPIO_AF_FSMC);            //配置GPIOD的Pin7复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource8,GPIO_AF_FSMC);            //配置GPIOD的Pin8复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource9,GPIO_AF_FSMC);            //配置GPIOD的Pin9复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource10,GPIO_AF_FSMC);       //配置GPIOD的Pin10复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource11,GPIO_AF_FSMC);      //配置GPIOD的Pin11复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource14,GPIO_AF_FSMC);      //配置GPIOD的Pin14复用连接到FSMCGPIO_PinAFConfig(GPIOD,GPIO_PinSource15,GPIO_AF_FSMC);      //配置GPIOD的Pin15复用连接到FSMC/*配置GPIOE相应的管脚复用连接到FSMC*/GPIO_PinAFConfig(GPIOE,GPIO_PinSource7,GPIO_AF_FSMC);          //配置GPIOE的Pin7复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource8,GPIO_AF_FSMC);            //配置GPIOE的Pin8复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_FSMC);            //配置GPIOE的Pin9复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource10,GPIO_AF_FSMC);       //配置GPIOE的Pin10复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_FSMC);      //配置GPIOE的Pin11复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource12,GPIO_AF_FSMC);      //配置GPIOE的Pin12复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource13,GPIO_AF_FSMC);          //配置GPIOE的Pin13复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource14,GPIO_AF_FSMC);      //配置GPIOE的Pin14复用连接到FSMCGPIO_PinAFConfig(GPIOE,GPIO_PinSource15,GPIO_AF_FSMC);      //配置GPIOE的Pin15复用连接到FSMC
}
/*************************************************************************************************************** 函数名:LCD_GPIO_Config()* 输入  :void* 输出  :void* 描述  :配置LCD的GPIO管脚与FSMC连接* 调用  :内部调用        *****************************************************************************************************************/
static void LCD_GPIO_Config(void)
{GPIO_InitTypeDef GPIO_InitStructure;                                                     //定义GPIO初始化结构体/* 使能FSMC的AHB3时钟,这里注意,不同芯片总线会不同 */RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE);/* 使能GPIOB,GPIOD,GPIOE的AHB1时钟*/RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE , ENABLE);/*配置液晶屏的背光控制管脚*/GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;                                             //设置管脚模式为输出模式GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;                                        //设置翻转速度为100Mhz,M4就是快啊GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;                                            //设置输出类型为推挽输出GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;                                                 //设置管脚为Pin_5,根据自己液晶接法设置GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;                                        //设置上/下拉电阻为无上拉下拉电阻        GPIO_Init(GPIOB, &GPIO_InitStructure);                                                    //初始化GPIOB的Pin_5/* 配置基于FSMC的液晶屏的数据线* 液晶屏数据线:FSMC-D0~D15: PD 14 15 0 1,PE 7 8 9 10 11 12 13 14 15,PD 8 9 10*/   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;                                       //设置翻转速度为100MhzGPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;                                            //设置管脚模式为复用模式GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 | GPIO_Pin_15;GPIO_Init(GPIOD, &GPIO_InitStructure);                                                      //初始化GPIOB的Pin_0,Pin_,Pin_2,GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;GPIO_Init(GPIOE, &GPIO_InitStructure); /* 配置基于FSMC的液晶屏控制线* PD4-FSMC_NOE  :LCD-RD* PD5-FSMC_NWE  :LCD-WR* PD7-FSMC_NE1  :LCD-CS* PD11-FSMC_A16 :LCD-DC*/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_Init(GPIOD, &GPIO_InitStructure);  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ; GPIO_Init(GPIOD, &GPIO_InitStructure);  GPIO_AF_FSMC_Config();                           //在F407中必须加上这个复用连接配置,否则不能连接到FSMCGPIO_SetBits(GPIOB, GPIO_Pin_5);             GPIO_SetBits(GPIOD, GPIO_Pin_4);         GPIO_SetBits(GPIOD, GPIO_Pin_5);       GPIO_SetBits(GPIOD, GPIO_Pin_7);        GPIO_ResetBits(GPIOD, GPIO_Pin_3);GPIO_SetBits(GPIOD, GPIO_Pin_6);
}/*************************************************************************************************************** 函数名:LCD_FSMC_Config()* 输入  :void* 输出  :void* 描述  :配置LCD的FSMC* 调用  :内部调用        *****************************************************************************************************************/
static void LCD_FSMC_Config(void)
{    FSMC_NORSRAMInitTypeDef  FSMC_NORSRAMInitStructure;FSMC_NORSRAMTimingInitTypeDef  p;LCD_GPIO_Config();                                                     //LCD管脚配置RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE);p.FSMC_AddressSetupTime = 5;                                           //地址建立时间p.FSMC_AddressHoldTime = 0;                                            //地址保持时间p.FSMC_DataSetupTime = 9;                                              //数据建立时间p.FSMC_BusTurnAroundDuration = 0;p.FSMC_CLKDivision = 0;p.FSMC_DataLatency = 0;p.FSMC_AccessMode = FSMC_AccessMode_A;                                  // 用模式A控制LCDFSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;/FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);   FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);
}
/*************************************************************************************************************** 函数名:LCD_WriteReg()* 输入  :uint8_t LCD_Reg 寄存器地址, uint16_t LCD_RegValue 寄存器的值* 输出  :void* 描述  :写LCD寄存器函数* 调用  :外部调用        *****************************************************************************************************************/
void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue)
{/*写寄存器地址*/LCD_REG = LCD_Reg;/*写入寄存器值*/LCD_RAM = LCD_RegValue;
}
/*************************************************************************************************************** 函数名:LCD_ReadReg()* 输入  :uint8_t LCD_Reg 需要读取的寄存器地址* 输出  :uint16_t 寄存器的值* 描述  :读取LCD寄存器的值* 调用  :外部调用        *****************************************************************************************************************/
uint16_t LCD_ReadReg(uint8_t LCD_Reg)
{/*写寄存器地址*/LCD_REG = LCD_Reg;/*读出寄存器值并返回*/return (LCD_RAM);
}
/*************************************************************************************************************** 函数名:LCD_WriteRAM_Start()* 输入  :void* 输出  :void* 描述  :开始写LCD的RAM* 调用  :外部调用        *****************************************************************************************************************/
void LCD_WriteRAM_Start(void)
{LCD_REG = 0x22;
}/*************************************************************************************************************** 函数名:LCD_WriteRAM()* 输入  :uint16_t RGB_data  16bit颜色数据* 输出  :void* 描述  :向LCD的RAM写数据* 调用  :外部调用        *****************************************************************************************************************/
void LCD_WriteRAM(uint16_t RGB_data)
{/*向LCD的RAM写数据*/LCD_RAM = RGB_data;
}/*************************************************************************************************************** 函数名:LCD_ReadRAM()* 输入  :void* 输出  :uint16_t  16bit颜色值* 描述  :读取LCD的RAM数据* 调用  :外部调用        *****************************************************************************************************************/
uint16_t LCD_ReadRAM(void)
{ uint16_t dumry;LCD_REG = 0x22; /*选择RAM寄存器*/dumry=LCD_RAM;   /*假读*//*读取16bit RAM值*/return LCD_RAM;
}/*************************************************************************************************************** 函数名:LCD_DisplayOn()* 输入  :void* 输出  :void* 描述  :LCD打开显示* 调用  :外部调用        *****************************************************************************************************************/
void LCD_DisplayOn(void)
{/*打开显示 */LCD_WriteReg(0x07, 0x0173); /*设置LCD为262K色并打开显示*/
}/*************************************************************************************************************** 函数名:LCD_DisplayOff()* 输入  :void* 输出  :void* 描述  :LCD关闭显示* 调用  :外部调用        *****************************************************************************************************************/
void LCD_DisplayOff(void)
{/*关闭显示*/LCD_WriteReg(0x07, 0x0);
}
/*************************************************************************************************************** 函数名:LCD_Init()* 输入  :void* 输出  :void* 描述  :LCD初始化函数* 调用  :外部调用        *****************************************************************************************************************/
void LCD_Init(void)
{ LCD_FSMC_Config();LCD_WriteReg(0x11,0x2004);      LCD_WriteReg(0x13,0xCC00);      LCD_WriteReg(0x15,0x2600);  LCD_WriteReg(0x14,0x252A);
//  LCD_WriteReg(0x14,0x002A);      LCD_WriteReg(0x12,0x0033);      LCD_WriteReg(0x13,0xCC04);      delay_nms(20); LCD_WriteReg(0x13,0xCC06);       delay_nms(20); LCD_WriteReg(0x13,0xCC4F);       delay_nms(20); LCD_WriteReg(0x13,0x674F);LCD_WriteReg(0x11,0x2003);delay_nms(20);   LCD_WriteReg(0x30,0x2609);      LCD_WriteReg(0x31,0x242C);      LCD_WriteReg(0x32,0x1F23);      LCD_WriteReg(0x33,0x2425);      LCD_WriteReg(0x34,0x2226);      LCD_WriteReg(0x35,0x2523);      LCD_WriteReg(0x36,0x1C1A);      LCD_WriteReg(0x37,0x131D);      LCD_WriteReg(0x38,0x0B11);      LCD_WriteReg(0x39,0x1210);      LCD_WriteReg(0x3A,0x1315);      LCD_WriteReg(0x3B,0x3619);      LCD_WriteReg(0x3C,0x0D00);      LCD_WriteReg(0x3D,0x000D);      LCD_WriteReg(0x16,0x0007);      LCD_WriteReg(0x02,0x0013);      LCD_WriteReg(0x03,0x0003);      LCD_WriteReg(0x01,0x0127);      delay_nms(20); LCD_WriteReg(0x08,0x0303);       LCD_WriteReg(0x0A,0x000B);      LCD_WriteReg(0x0B,0x0003);   LCD_WriteReg(0x0C,0x0000);   LCD_WriteReg(0x41,0x0000);    LCD_WriteReg(0x50,0x0000);   LCD_WriteReg(0x60,0x0005);    LCD_WriteReg(0x70,0x000B);    LCD_WriteReg(0x71,0x0000);    LCD_WriteReg(0x78,0x0000);    LCD_WriteReg(0x7A,0x0000);   LCD_WriteReg(0x79,0x0007);        LCD_WriteReg(0x07,0x0051);   delay_nms(20);     LCD_WriteReg(0x07,0x0053);      LCD_WriteReg(0x79,0x0000);  //LCD_WriteReg(0x00,0x0022);GPIO_SetBits(GPIOB,GPIO_Pin_5);LCD_Clear(BLUE);LCD_SetFont(&Font16x24);LCD_SetMode(1);
}
/*************************************************************************************************************** 函数名:LCD_SetMode()* 输入  :uint8_t mode 设置屏幕刷屏模式* 输出  :void* 描述  :设置LCD刷屏模式* 调用  :外部调用        *****************************************************************************************************************/
void LCD_SetMode(uint8_t mode)
{switch(mode)//常用4(横屏)和7(竖屏){case 1:LCD_WriteReg(0x03,0x1000);break;//向左向上:←↖case 2:LCD_WriteReg(0x03,0x1008);break;//向上向左:↑↖case 3:LCD_WriteReg(0x03,0x1010);break;//向右向上:→↗case 4:LCD_WriteReg(0x03,0x1018);break;//向上向右:↑↗case 5:LCD_WriteReg(0x03,0x1020);break;//向左向下:←↙case 6:LCD_WriteReg(0x03,0x1028);break;//向下向左:↓↙case 7:LCD_WriteReg(0x03,0x1030);break;//向右向下:→↘case 8:LCD_WriteReg(0x03,0x1038);break;//向下向右:↓↘}
}
/*************************************************************************************************************** 函数名:LCD_Clear()* 输入  :void* 输出  :void* 描述  :LCD清屏函数* 调用  :外部调用        *****************************************************************************************************************/
void LCD_Clear(uint16_t Color)
{uint32_t index = 0;LCD_SetCursor(0,150); LCD_WriteRAM_Start(); /*开始写GRAM */for(index = 0; index < 76800; index++){LCD_RAM = Color;}
}/*************************************************************************************************************** 函数名:LCD_SetCursor()* 输入  :uint16_t Xpos, uint16_t Ypos 设定的屏幕的X值和Y值* 输出  :void* 描述  :LCD设置光标位置函数* 调用  :外部调用        *****************************************************************************************************************/
void LCD_SetCursor(uint16_t Xpos, uint16_t Ypos)
{LCD_WriteReg(0x20, Xpos);LCD_WriteReg(0x21, Ypos);
}
/*************************************************************************************************************** 函数名:LCD_SetColors()* 输入  :_TextColor 前景色,_BackColor 背景色* 输出  :void* 描述  :设置LCD的前景色和背景色* 调用  :外部调用        *****************************************************************************************************************/
void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor)
{TextColor = _TextColor; BackColor = _BackColor;
}
/*************************************************************************************************************** 函数名:LCD_GetColors()* 输入  :*_TextColor 前景色的指针,*_BackColor 背景色的指针* 输出  :void* 描述  :获取LCD的前景色和背景色* 调用  :外部调用        *****************************************************************************************************************/
void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor)
{*_TextColor = TextColor; *_BackColor = BackColor;
}
/*************************************************************************************************************** 函数名:LCD_SetFont()* 输入  :sFONT *fonts 要设置的字体* 输出  :void* 描述  :设置LCD的字体* 调用  :外部调用        *****************************************************************************************************************/
void LCD_SetFont(sFONT *fonts)
{LCD_Currentfonts = fonts;
}

这块lcd是可以测得lcdid,值为0x1121。不过这程序没测!

总结教训:stm32f4-Discovery驱动三星s6d1121液晶程序相关推荐

  1. 三星S6D1121主控彩屏(240*320*18bit,262K)驱动程序

    这个是三星的主控S6D1121彩屏(240*320*18bit,262Kcr)的彩屏的驱动程序. 采用的是80System+16bit接口 不知道是什么原因, 这个主控网上很少有资料,我也是看了好久的 ...

  2. ht1621b和单片机电平匹配_HT1621B驱动段码液晶屏参考程序——晶拓液晶屏

    (1)    段码屏的驱动程序跟数码管的静态驱动程序一样,只要我们弄懂了怎样显示一个基本单位,根据此基本单位编写一个字库表,然后   用与(&)和或(|)这两种位运算符就可以随心所欲编写我们要 ...

  3. 如何驱动段码液晶屏?

    日常生活中我见的较多的就是段码液晶屏了,如遥控器.冰箱.电子体温计.设备上的显示器等等,段码屏应用如此广泛主要是它即有着普通数码管的特征,又有着点阵液晶屏的特征:有固定的图形,不但成本低而且又美观.那 ...

  4. 简单明了操作——ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏)

    简单明了操作--ESP8266 NodeMCU驱动TFT LCD液晶屏(制作透明小电视前奏) 前言 准备材料 esp8266 NodeMCU(串口WiFi模块) 1.44inch SPI Arduin ...

  5. 流星灯C语言程序,(18)改进led驱动和流星灯程序

    (18)改进led驱动和流星灯程序 注:所以文章红色字体代表需要特别注意和有问题还未解决的地方,蓝色字体表示需要注意的地方 1.本文所介绍的程序平台 开发板:arm9-mini2440 虚拟机为:Re ...

  6. STM32F103以SPI 驱动128*128的TFT彩屏,LCD驱动为ST7735s,程序使用CubeMX的HAL库开发方式,另外也做了标准库的程序移植

    0.  关于本文: 其实我一直都比较懒,不喜欢写博客.但网上关于详细讲解SPI驱动LCD的文章比较少,虽然也能下载到一些案例程序,但对于初学者来说,如果不懂LCD驱动的原理,不懂如何对文字和图片取模, ...

  7. 领域驱动设计,让程序员心中有码(五)

    1      从搬砖谈领域对象 有一个古老的故事,大概是这样的.作者问三个建筑工地上的工人他们在干什么?有一个没精打采的说,我在挖洞!而另一一个人却说,我在盖一座房子.还有一个人说,我在建立一座巨大的 ...

  8. 领域驱动设计,让程序员心中有码(四)

    #领域驱动设计,让程序员心中有码(四) ----------------------追忆有关分层的古老往事 我一直认为,程序员也是艺术家,他们撰写的每一行代码,是献给这大好世界的优美诗篇.不同的人,写 ...

  9. 领域驱动设计,让程序员心中有码(三)

    "正如西方古典哲学在现代社会逐渐式微,成为少数内心丰满者们填充自己精神世界的宝贵食物,UML也这样:互联网技术飞速发展的今天,各类软件设计思想层出不穷,正是站在UML和其他各种软件基础理论巨 ...

最新文章

  1. [afterCode] docker 速成班 1: image
  2. hdu 2842 Chinese Rings 矩阵快速幂
  3. 课程作业1:字符型强制转化为整型
  4. isAssignableFrom和isInstance、instanceof
  5. Nginx之让用户通过用户名密码认证访问web站点
  6. 怎么改掉科学计数法_马拉松猝死频发为哪般——听听冠军们怎么说
  7. 说出你和「云原生」的故事,获得年度云原生顶级盛会通行证
  8. err-disabled
  9. 电商美工怎么做促销海报,才让内容更有吸引力?看看这些大咖都在学习的优秀素材模板!
  10. 关闭多个activity
  11. Eclipse的部署项目时的配置
  12. cocos2d-x 2.2.3 之菜单分析(1)
  13. Acer 4750 安装黑苹果_黑苹果系统安装教程之驱动篇
  14. day 84 Vue学习四之过滤器、钩子函数、路由、全家桶等
  15. 深空时代来临,探日究竟有何魔力?
  16. heic格式图片转为jpg格式 安装pyheif
  17. CodeM资格赛B 锦标赛 题解
  18. NIS(网络信息服务)的功能及使用
  19. 一个可大规模悄无声息窃取淘宝/支付宝账号与密码的漏洞 -(埋雷式攻击附带视频演示)
  20. java中jooq,在Spring中使用jOOQ源码案例

热门文章

  1. 《人性的弱点》经典语录
  2. 什么是安卓马甲APP?寻求高手安卓马甲包封装APP上架
  3. 2023国自然已审核,预祝8月上榜
  4. 个人中端深度学习工作站配置(硬件系统篇)
  5. 实验室工作站配置多用户远程连接教程(亲测有效版)
  6. 帮人维护服务器犯法吗,私人做云服务器犯法吗
  7. Quick小白书系列(三)MyApp详解
  8. 产品随想6:痛点分析,是先“痛”还是先“点”?
  9. Map集合以及Map集合的实现类Stream流的使用
  10. redis常用命令手册大全 - 笔记