[技术求助] 关于2.8寸TFT彩屏的驱动

[复制链接]
1887|8
 楼主| assange 发表于 2014-8-27 16:49 | 显示全部楼层 |阅读模式
本帖最后由 assange 于 2014-8-29 13:09 编辑

小弟新手上路,对单片机有些了解,出于好奇最近收购一块2.8寸TFT彩屏,内部含有ILI9325,XPT2046,现在我真是捉急了,没有驱动历程,想到论坛上大神较多,特来请教 ,还望多多指点,谢谢啦。初步决定由K60来做mcu,希望有经验的人士给我点资料,谢谢~


程序写完啦,但是 DeviceCode读的数据一直是6783,还请大神们指点 谢谢
  1. int main(void)
  2. {
  3. DelayInit();
  4.         LCD_Init();
  5.         while(1)
  6.         {
  7.         }
  8. }
  1. uint16_t DeviceCode;         

  2. //PTB0~8 DB0~8 **** PTA8~15 DB8~15
  3. void DataToIO(uint16_t val)
  4. {
  5. uint16_t dat=0;
  6. dat = GPIO_ReadPort(HW_GPIOB);  // DBL 读取端口的32位数据
  7. dat = (dat&0xFF00) | (val&0xFF);
  8. GPIO_WritePort(HW_GPIOB, dat);
  9. dat = GPIO_ReadPort(HW_GPIOA);  // DBH  
  10. dat = (dat&0xFF00) | ((val>>8)&0xFF);
  11. GPIO_WritePort(HW_GPIOA, dat);
  12. }
  13. #define LCD_WR_DATA(data)\
  14.         {  \
  15.         LCD_RS_SET;\
  16.         LCD_CS_CLR;\
  17.         DataToIO(data);\
  18.         LCD_WR_CLR;\
  19.         LCD_WR_SET;\
  20.         LCD_CS_SET;\
  21.         }  
  22. void LCD_WR_REG(uint16_t data) //  些命令
  23. {
  24.         LCD_RS_CLR;//写地址
  25.         LCD_CS_CLR;
  26.         DataToIO(data);
  27.         LCD_WR_CLR;
  28.         LCD_WR_SET;
  29.         LCD_CS_SET;   
  30. }

  31. //写某些寄存期地址
  32. void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue)
  33. {       
  34.         LCD_WR_REG(LCD_Reg);  
  35.         LCD_WR_DATA(LCD_RegValue);                             
  36. }
  37. //都寄存器
  38. uint16_t LCD_ReadReg(uint8_t LCD_Reg)
  39. {                                                                                  
  40.         uint16_t t,i,datH,datL;
  41.        
  42.         LCD_WR_REG(LCD_Reg);  
  43.         {
  44.                 GPIO_QuickInit(HW_GPIOB,i,kGPIO_Mode_IPU);
  45.                 GPIO_WriteBit(HW_GPIOB,i,1);
  46.         }
  47.         for(i=8;i<16;i++)
  48.         {
  49.                 GPIO_QuickInit(HW_GPIOA,i,kGPIO_Mode_IPU);
  50.                 GPIO_WriteBit(HW_GPIOA,i,1);
  51.         }
  52.         LCD_RS_SET;
  53.         LCD_CS_CLR;
  54.         LCD_RD_CLR;
  55.         DelayUs(5);                          
  56.         LCD_RD_SET;
  57.        
  58.         datH = PTA->PDIR;  /**< Port Data Input Register, offset: 0x10 */
  59.         datL = PTB->PDIR;  /**< Port Data Input Register, offset: 0x10 */
  60.        
  61.        
  62.         LCD_CS_SET;
  63.         for(i=0;i<7;i++)
  64.         {
  65.                 GPIO_QuickInit(HW_GPIOB,i,kGPIO_Mode_OPP);
  66.                 GPIO_WriteBit(HW_GPIOB,i,1);
  67.         }
  68.         for(i=8;i<16;i++)
  69.         {
  70.                 GPIO_QuickInit(HW_GPIOA,i,kGPIO_Mode_OPP);
  71.                 GPIO_WriteBit(HW_GPIOA,i,1);
  72.         }
  73.        
  74.         t = ((datH<<8)&0xFF00) | (datL&0x00FF);
  75.         return t;  
  76. }  
  77. void LCD_Init(void)
  78. {  
  79.   uint8_t i;                                                                                   
  80.         for(i=5;i<10;i++)
  81.         {
  82.                 GPIO_QuickInit(HW_GPIOD,i,kGPIO_Mode_OPP);
  83.         }
  84.         LCD_CS_SET;
  85.         LCD_RD_SET;
  86.         LCD_WR_SET;
  87.         DelayMs(50); // delay 50 ms
  88.         LCD_WriteReg(0x0000,0x0001);
  89.         DelayMs(50); // delay 50 ms
  90.         LCD_RD_SET;
  91.         LCD_WR_SET;
  92.         DeviceCode = LCD_ReadReg(0x0000);   
  93. }





ou513 发表于 2014-8-27 19:33 | 显示全部楼层
ILI9325网上有很多现成很好的驱动,稍稍移植一下就可以了
mmuuss586 发表于 2014-8-27 20:24 | 显示全部楼层

买之前就要考虑的;
比如买开发板,就要开发板有哪些资料;
airwill 发表于 2014-8-28 07:03 | 显示全部楼层
这个屏, STM32 的驱动, 网上有大把的资料, 很多公开的驱动光盘都包含, 可以参考移植一下.
屏的店家也会提供.
 楼主| assange 发表于 2014-8-29 13:10 | 显示全部楼层
airwill 发表于 2014-8-28 07:03
这个屏, STM32 的驱动, 网上有大把的资料, 很多公开的驱动光盘都包含, 可以参考移植一下.
屏的店家也会提供 ...

程序改好了,但是貌似有点小问题,能麻烦您帮忙看一下吗?
 楼主| assange 发表于 2014-8-29 13:11 | 显示全部楼层
ou513 发表于 2014-8-27 19:33
ILI9325网上有很多现成很好的驱动,稍稍移植一下就可以了

改好程序啦,能帮忙看看程序吗?

airwill 发表于 2014-8-29 19:31 | 显示全部楼层
有问题, 慢慢调试吧, 我手头没有 K60 的板子, 没有用过 K60. 抱歉
 楼主| assange 发表于 2014-8-29 21:34 | 显示全部楼层
airwill 发表于 2014-8-29 19:31
有问题, 慢慢调试吧, 我手头没有 K60 的板子, 没有用过 K60. 抱歉

:( 好的吧 谢谢
Imakey 发表于 2014-8-30 01:09 来自手机 | 显示全部楼层
我有调好的,K60平台,9325,320*240大小,需要的话明早传上来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部