OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5497|回复: 9

LCD是9341,我用IO驱动液晶屏就是黑屏不工作

[复制链接]

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
发表于 2015-3-5 10:28:56 | 显示全部楼层 |阅读模式
5金钱
求原子哥帮助啊,我调了2天都没出来。下面是我的部分代码:。我想显示个底色是红色都不行,郁闷啊。

int main(void)
{
// u8 c[100] = {1,2,3,4,5,6,7,8,9,10};

#ifdef DEBUG
    debug();
#endif


SystemInit();

LCD_Setup();
GPIO_SetBits(GPIOD, GPIO_Pin_12 ); //LED2
GPIO_SetBits(GPIOD, GPIO_Pin_13 ); //LED3
GPIO_SetBits(GPIOD, GPIO_Pin_14 ); //LED4

while (1)
{
test();
}
}


#include "fonts.h"
#include "lcd.h"

#define LCD_TYPE  0x9325

#define START_BYTE  0x70
#define SET_INDEX   0x00
#define READ_STATUS 0x01
#define WRITE_REG   0x02
#define READ_REG    0x03
#define WRITE_RAM   0x2C


#define  LCD_CS     GPIOC->BSRR=GPIO_Pin_11

#define  WMLCDCOM(index)     {LCD_Write_Reg(index);}
#define  WMLCDDATA(index)    {LCD_Write_RAM(index);}

typedef unsigned short     int uint16_t;
typedef unsigned           int uint32_t;
extern const unsigned char gImage_arm79[];
extern const unsigned char gImage_arm_logo[] ;
extern const unsigned char LCD_HZ[];
/*---------------????????GRAM----------------*/
void    LCD_Write_RAM(u8 DH)
{   

GPIO_SetBits(GPIOD,GPIO_Pin_0);    // LCD_rS_1();  
GPIO_ResetBits(GPIOC,GPIO_Pin_11); // LCD_CS_0(); 

if (DH&0x0001)     GPIO_SetBits(GPIOE,GPIO_Pin_8);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_8);  
if (DH&0x0002)     GPIO_SetBits(GPIOE,GPIO_Pin_9);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_9);  
if (DH&0x0004)     GPIO_SetBits(GPIOE,GPIO_Pin_10);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_10);  
if (DH&0x0008)     GPIO_SetBits(GPIOE,GPIO_Pin_11);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_11);  
if (DH&0x0010)     GPIO_SetBits(GPIOE,GPIO_Pin_12);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_12);  
if (DH&0x0020)     GPIO_SetBits(GPIOE,GPIO_Pin_13);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_13); 
if (DH&0x0040)     GPIO_SetBits(GPIOE,GPIO_Pin_14);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_14); 
if (DH&0x0080)     GPIO_SetBits(GPIOE,GPIO_Pin_15);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_15); 



GPIO_ResetBits(GPIOD,GPIO_Pin_3); // LCD_WR_0();
GPIO_SetBits(GPIOD,GPIO_Pin_3); // LCD_WR_1();
GPIO_SetBits(GPIOC,GPIO_Pin_11); // LCD_CS_1(); 
}

/*******************************************************************************
* Function Name : LCD_WriteReg
* Description   : Writes to the selected LCD register.
* Input         : - LCD_Reg: address of the selected register.
*                  - LCD_RegValue: value to write to the selected register.
* Output         : None
* Return         : None
*******************************************************************************/

void LCD_Write_Reg(u8 DH)
{
 
GPIO_ResetBits(GPIOD,GPIO_Pin_0);   // LCD_RS_0(); 
GPIO_ResetBits(GPIOC,GPIO_Pin_11);  // LCD_CS_0(); 

if (DH&0x0001)     GPIO_SetBits(GPIOE,GPIO_Pin_8);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_8);  
if (DH&0x0002)     GPIO_SetBits(GPIOE,GPIO_Pin_9);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_9);  
if (DH&0x0004)     GPIO_SetBits(GPIOE,GPIO_Pin_10);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_10);  
if (DH&0x0008)     GPIO_SetBits(GPIOE,GPIO_Pin_11);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_11);  
if (DH&0x0010)     GPIO_SetBits(GPIOE,GPIO_Pin_12);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_12);  
if (DH&0x0020)     GPIO_SetBits(GPIOE,GPIO_Pin_13);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_13); 
if (DH&0x0040)     GPIO_SetBits(GPIOE,GPIO_Pin_14);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_14); 
if (DH&0x0080)     GPIO_SetBits(GPIOE,GPIO_Pin_15);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_15); 


GPIO_ResetBits(GPIOD,GPIO_Pin_3); // LCD_WR_0();
GPIO_SetBits(GPIOD,GPIO_Pin_3);   // LCD_WR_1();
GPIO_SetBits(GPIOC,GPIO_Pin_11); // LCD_CS_1();
}
/*---------------??????×?±?-------------------*/
void LCD_WriteRAM_Prepare(void)   
{
u8 DH;

DH =  WRITE_RAM ;

GPIO_ResetBits(GPIOD,GPIO_Pin_0);  // LCD_RS_0(); 
GPIO_ResetBits(GPIOC,GPIO_Pin_11); // LCD_CS_0(); 

if (DH&0x0001)     GPIO_SetBits(GPIOE,GPIO_Pin_8);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_8);  
if (DH&0x0002)     GPIO_SetBits(GPIOE,GPIO_Pin_9);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_9);  
if (DH&0x0004)     GPIO_SetBits(GPIOE,GPIO_Pin_10);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_10);  
if (DH&0x0008)     GPIO_SetBits(GPIOE,GPIO_Pin_11);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_11);  
if (DH&0x0010)     GPIO_SetBits(GPIOE,GPIO_Pin_12);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_12);  
if (DH&0x0020)     GPIO_SetBits(GPIOE,GPIO_Pin_13);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_13); 
if (DH&0x0040)     GPIO_SetBits(GPIOE,GPIO_Pin_14);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_14); 
if (DH&0x0080)     GPIO_SetBits(GPIOE,GPIO_Pin_15);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_15); 


GPIO_ResetBits(GPIOD,GPIO_Pin_3); // LCD_WR_0();
GPIO_SetBits(GPIOD,GPIO_Pin_3);  // LCD_WR_1();
GPIO_SetBits(GPIOC,GPIO_Pin_11); // LCD_CS_1(); 
}
/*---------------???????ê??-------------------*/
#define  LCD_WriteRAM_Ready() {LCD_CS;}

void write_color_data(u16 color)
{
u8 DH;

GPIO_SetBits(GPIOD,GPIO_Pin_0);      // LCD_RS_1();
GPIO_ResetBits(GPIOC,GPIO_Pin_11);  // LCD_CS_0(); 

DH = (color>>8);
if (DH&0x0001)     GPIO_SetBits(GPIOE,GPIO_Pin_8);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_8);  
if (DH&0x0002)     GPIO_SetBits(GPIOE,GPIO_Pin_9);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_9);  
if (DH&0x0004)     GPIO_SetBits(GPIOE,GPIO_Pin_10);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_10);  
if (DH&0x0008)     GPIO_SetBits(GPIOE,GPIO_Pin_11);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_11);  
if (DH&0x0010)     GPIO_SetBits(GPIOE,GPIO_Pin_12);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_12);  
if (DH&0x0020)     GPIO_SetBits(GPIOE,GPIO_Pin_13);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_13); 
if (DH&0x0040)     GPIO_SetBits(GPIOE,GPIO_Pin_14);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_14); 
if (DH&0x0080)     GPIO_SetBits(GPIOE,GPIO_Pin_15);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_15); 


GPIO_ResetBits(GPIOD,GPIO_Pin_3); // LCD_WR_0();
GPIO_SetBits(GPIOD,GPIO_Pin_3);    // LCD_WR_1();

DH = (color & 0xff);

if (DH&0x0001)     GPIO_SetBits(GPIOE,GPIO_Pin_8); //PE8-15
else     GPIO_ResetBits(GPIOE,GPIO_Pin_8);  
if (DH&0x0002)     GPIO_SetBits(GPIOE,GPIO_Pin_9);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_9);  
if (DH&0x0004)     GPIO_SetBits(GPIOE,GPIO_Pin_10);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_10);  
if (DH&0x0008)     GPIO_SetBits(GPIOE,GPIO_Pin_11);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_11);  
if (DH&0x0010)     GPIO_SetBits(GPIOE,GPIO_Pin_12);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_12);  
if (DH&0x0020)     GPIO_SetBits(GPIOE,GPIO_Pin_13);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_13); 
if (DH&0x0040)     GPIO_SetBits(GPIOE,GPIO_Pin_14);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_14); 
if (DH&0x0080)     GPIO_SetBits(GPIOE,GPIO_Pin_15);
else     GPIO_ResetBits(GPIOE,GPIO_Pin_15); 

GPIO_ResetBits(GPIOD,GPIO_Pin_3); // LCD_WR_0();
GPIO_SetBits(GPIOD,GPIO_Pin_3);    // LCD_WR_1();
GPIO_SetBits(GPIOC,GPIO_Pin_11); // LCD_CS_1();
}

/*---------------------------LCD marco end-------------------------------*/


/* Private variables ---------------------------------------------------------*/
/* Global variables to set the written text color */
static  vu16 TextColor = 0x0000, BackColor = 0xFFFF;

/* Private function prototypes -----------------------------------------------*/
static  u32   StrLength(u8 *Str);
static  void  Delay    (u32 nCount);

/* Private functions ---------------------------------------------------------*/
/*******************************************************************************
* Function Name : Delay
* Description   : Delay some times.
*******************************************************************************/
void  Delay (u32 nCount)
{
  for(; nCount != 0; nCount--);
}
/*******************************************************************************
* Function Name : StrLength
* Description   : Returns length of string.
* Input         : - Str: Character Pointer.
* Output         : None
* Return         : String length.
*******************************************************************************/
static u32 StrLength(u8 *Str)
{
  u32 Index = 0;

  /* Increment the Index unless the end of string */
  for(Index = 0; *Str != '\0'; Str++, Index++)
  {
  }

  return Index;
}

void LCD_Setup(void)
{
LCD_CtrlLinesConfig();

GPIO_SetBits(GPIOC, GPIO_Pin_10);  //reset = 1
  Delay(0x00FFF);

GPIO_ResetBits(GPIOC, GPIO_Pin_10);  //reset = 0
  Delay(0x05FFF);

  GPIO_SetBits(GPIOC, GPIO_Pin_10 ); //reset = 1  
Delay(0x5FFFF);

//************* Start Initial Sequence **********//   
WMLCDCOM(0xCB);  
WMLCDDATA(0x39); 
WMLCDDATA(0x2C); 
WMLCDDATA(0x00); 
WMLCDDATA(0x34); 
WMLCDDATA(0x02); 
 
WMLCDCOM(0xCF);  
WMLCDDATA(0x00); 
WMLCDDATA(0x99); 
WMLCDDATA(0x30); 
 
WMLCDCOM(0xE8);  
WMLCDDATA(0x85); 
WMLCDDATA(0x00); 
WMLCDDATA(0x78); 


WMLCDCOM(0xEA);  
WMLCDDATA(0x00); 
WMLCDDATA(0x00); 

WMLCDCOM(0xED);  
WMLCDDATA(0x64); 
WMLCDDATA(0x03); 
WMLCDDATA(0x12); 
WMLCDDATA(0x81); 
 
WMLCDCOM(0xF7);  
WMLCDDATA(0x20); 

WMLCDCOM(0x3A);  
WMLCDDATA(0x55); 
 
WMLCDCOM(0xC0);    //Power control 
WMLCDDATA(0x22);   //VRH[5:0] 
 
WMLCDCOM(0xC1);    //Power control 
WMLCDDATA(0x12);   //SAP[2:0];BT[3:0] 
 
WMLCDCOM(0xC5);    //VCM control 
WMLCDDATA(0x4D); 
WMLCDDATA(0x3A); 
 
WMLCDCOM(0xC7);    //VCM control2 
WMLCDDATA(0x98); 
 
WMLCDCOM(0x36);    // Memory Access Control 
WMLCDDATA(0x48); 
 
WMLCDCOM(0xF2);    // 3Gamma Function Disable 
WMLCDDATA(0x00); 
 
WMLCDCOM(0x26);    //Gamma curve selected 
WMLCDDATA(0x01); 
 
WMLCDCOM(0xE0);    //Set Gamma 
WMLCDDATA(0x0F); 
WMLCDDATA(0x26); 
WMLCDDATA(0x24); 
WMLCDDATA(0x0B); 
WMLCDDATA(0x10); 
WMLCDDATA(0x08); 
WMLCDDATA(0x52); 
WMLCDDATA(0xB8); 
WMLCDDATA(0x3F); 
WMLCDDATA(0x07); 
WMLCDDATA(0x10); 
WMLCDDATA(0x08); 
WMLCDDATA(0x1B); 
WMLCDDATA(0x0D); 
WMLCDDATA(0x08); 
 
WMLCDCOM(0xE1);    //Set Gamma 
WMLCDDATA(0x00); 
WMLCDDATA(0x19); 
WMLCDDATA(0x1B); 
WMLCDDATA(0x04); 
WMLCDDATA(0x0F); 
WMLCDDATA(0x07); 
WMLCDDATA(0x2E); 
WMLCDDATA(0x74); 
WMLCDDATA(0x3F); 
WMLCDDATA(0x08); 
WMLCDDATA(0x0F); 
WMLCDDATA(0x07); 
WMLCDDATA(0x24); 
WMLCDDATA(0x32); 
WMLCDDATA(0x0F); 
 
WMLCDCOM(0x11);    //Exit Sleep 
Delay(0XFFFFF);
WMLCDCOM(0x29);    //Display on
WMLCDCOM(0x2c);  


}

/*******************************************************************************
* Function Name : LCD_SetTextColor
* Description   : Sets the Text color.
* Input         : - Color: specifies the Text color code RGB(5-6-5).
* Output         : - TextColor: Text color global variable used by LCD_DrawChar
*                  and LCD_DrawPicture functions.
* Return         : None
*******************************************************************************/
void LCD_SetTextColor(vu16 Color)
{
  TextColor = Color;
}

/*******************************************************************************
* Function Name : LCD_SetBackColor
* Description   : Sets the Background color.
* Input         : - Color: specifies the Background color code RGB(5-6-5).
* Output         : - BackColor: Background color global variable used by
*                  LCD_DrawChar and LCD_DrawPicture functions.
* Return         : None
*******************************************************************************/
void LCD_SetBackColor(vu16 Color)
{
  BackColor = Color;
}

/*******************************************************************************
* Function Name : LCD_Clear
* Description   : Clears the hole LCD.
* Input         : Color: the color of the background.
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_Clear(u16 Color)
{
  u32 index = 0;

  LCD_SetCursor(0x00, 0x00);   //0x013F

    LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */

  for(index = 0; index < 76800; index++)
  {
    LCD_Write_RAM((Color>>8));
LCD_Write_RAM((Color&0xff));
  }
  LCD_WriteRAM_Ready();
}

/*******************************************************************************
* Function Name : LCD_SetCursor
* Description   : Sets the cursor position.
* Input         : - Xpos: specifies the X position.
*                  - Ypos: specifies the Y position.
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_SetCursor(u8 Xpos, u16 Ypos)
{
   // LCD_WriteReg(0x0020, Xpos);
   //LCD_WriteReg(0x0021, Ypos);
   //LCD_WriteReg(0x004e, Xpos);   //?è??X×?±ê????
   //LCD_WriteReg(0x004f, Ypos);  //?è??Y×?±ê????
   //LCD_WriteReg(0x0046, Xpos);
LCD_Write_Reg(0x2A); 
LCD_Write_RAM(Xpos>>8); 
LCD_Write_RAM(Xpos&0XFF);  
LCD_Write_Reg(0X2B); 
LCD_Write_RAM(Ypos>>8); 
LCD_Write_RAM(Ypos&0XFF);

}
/*******************************************************************************
* Function Name : LCD_CtrlLinesConfig
* Description   : Configures LCD control lines in Output Push-Pull mode.
* Input         : None
* Output         : None
* Return         : None
*******************************************************************************/
void LCD_CtrlLinesConfig(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, DISABLE);  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC |
                         RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE , ENABLE); 
 
/*===========GPIO For the LCD_RS,WR,RD,BF========================*/
/**
 * PD0 -> LCD_RS      D1 -> LCD_RD   PD3 -> LCD_WR      D4 -> LCD_BF 
 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_3 | GPIO_Pin_4 ;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOD, &GPIO_InitStructure);
/*===========GPIO For the LCD_Bus========================*/
/**
 * PE8-15 -> DB8-15
 */
  GPIO_InitStructure.GPIO_Pin =  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_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOE, &GPIO_InitStructure);

/*===========GPIO For the LCD_RESET,CS=======================*/
/**
 * PC10 -> LCD_RESET      C11 -> LCD_CS
 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);


/*===========GPIO For the LED ========================*/
/**
 * LED2 -> PD12  LED3 -> PD13 LED4 -> PD14
 */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 |GPIO_Pin_13|GPIO_Pin_14;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 
  GPIO_Init(GPIOD, &GPIO_InitStructure);  


/*===========Please Set LED-back-Light ========================*/
/**
 * Light_LED -> PD4
 */
  GPIO_ResetBits(GPIOD, GPIO_Pin_4); //?ò??±???LED
}



void test(void)
{

// int i,j,k,Num_char,lie;
unsigned int dd;

LCD_Clear(Red);
//for(i = 0; i < 4;i++){
// LCD_Char_24_24(i*24, 10, &LCD_HZ[i * 72]);
//}


while(1) 
{
/*====LED2-ON=======*/
GPIO_ResetBits(GPIOD , GPIO_Pin_12);
GPIO_SetBits(GPIOD , GPIO_Pin_13);
Delay(0xaffff);
Delay(0xaffff);
Delay(0x5ffff);

/*====LED3-ON=======*/
GPIO_ResetBits(GPIOD , GPIO_Pin_12);
GPIO_ResetBits(GPIOD , GPIO_Pin_13);
Delay(0xaffff);
Delay(0xaffff);
Delay(0x5ffff);


}
}
/*---------------------------------E N D--------------------------------------*/




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
167
金钱
167
注册时间
2014-6-6
在线时间
22 小时
发表于 2015-3-5 12:13:41 | 显示全部楼层
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-3-5 15:21:17 | 显示全部楼层
我只用PE8-15连接了9341LCD的DB8-DB15数据线。
回复

使用道具 举报

27

主题

774

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1473
金钱
1473
注册时间
2013-4-12
在线时间
77 小时
发表于 2015-3-5 17:45:08 | 显示全部楼层
黑屏?先把背光弄亮啊
简单是多么的快乐,而快乐就因你而简单!微芯动力LTKKS
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-3-5 22:13:27 | 显示全部楼层
背光灯打开后,显示的是白屏。
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-3-5 22:22:01 | 显示全部楼层
我用STC单片机8个IO口做数据线驱动9341的DB0-DB15,9341能正常工作啊。可0用到STM32上,屏就不工作了。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-5 22:35:52 | 显示全部楼层
8位屏????
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-3-5 22:39:43 | 显示全部楼层
恩.是8位屏。
回复

使用道具 举报

170

主题

917

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1824
金钱
1824
注册时间
2013-4-13
在线时间
63 小时
发表于 2015-3-5 22:50:30 | 显示全部楼层
你把sTc驱动9341的代码打包出来,我学习下。
手艺人要内外兼修。
回复

使用道具 举报

12

主题

86

帖子

0

精华

高级会员

Rank: 4

积分
567
金钱
567
注册时间
2014-12-19
在线时间
139 小时
 楼主| 发表于 2015-3-5 22:53:15 | 显示全部楼层
8楼。要明天类,我家里电脑没有。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 14:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表