硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8254|回复: 14
收起左侧

[emWin] 硬汉帮忙一下,您那里有RA8875驱动群创的AT070TN83的屏的代码不。

[复制链接]

16

主题

203

回帖

251

积分

高级会员

积分
251
发表于 2013-12-16 22:41:14 | 显示全部楼层 |阅读模式
我这里移植您的F4-999的代码,屏幕显示不稳定,总是漂移,触摸屏按下再松开后,所有的图像统一的向右移动不定的距离。屏幕看起来就乱了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2013-12-16 23:44:04 | 显示全部楼层
这个还真没有,我记得以前的代码驱动里面好像做了两个屏的驱动,明天去实验室了我给您看看
回复

使用道具 举报

16

主题

203

回帖

251

积分

高级会员

积分
251
 楼主| 发表于 2013-12-17 17:02:26 | 显示全部楼层

回 eric2013 的帖子

eric2013:这个还真没有,我记得以前的代码驱动里面好像做了两个屏的驱动,明天去实验室了我给您看看
(2013-12-16 23:44)
谢谢!
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2014-1-3 00:12:22 | 显示全部楼层
给你一份,我自己用的还行。不知道你能不能用。我用的就是AT070TN83的屏,触摸是中断方式的。FSMC没加。


RA8875.rar (24 KB, 下载次数: 217)
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2014-1-3 00:13:35 | 显示全部楼层
GPIO口初始化自己加。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2014-1-3 00:17:17 | 显示全部楼层

回 physh 的帖子

physh:给你一份,我自己用的还行。不知道你能不能用。我用的就是AT070TN83的屏,触摸是中断方式的。FSMC没加。


 (2014-01-03 00:12) 
我理解成了你没有加FSMC,用的模拟方式,O(∩_∩)O~
谢谢提供
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2014-1-3 00:21:05 | 显示全部楼层
触摸加中断还是比较好用的。触摸过程中要关中断。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2014-1-3 00:24:17 | 显示全部楼层

回 physh 的帖子

physh:触摸加中断还是比较好用的。触摸过程中要关中断。 (2014-01-03 00:21) 
恩,我以前也用中断方式了,后来不用中断方式了,用在emWin+RTOS中效果不太好。
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2014-1-3 00:26:23 | 显示全部楼层
static void LCD_CtrlLinesConfig(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;

    /* 使能FSMC时钟 */
    RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FSMC, ENABLE);

    /* 使能 GPIO时钟 */
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOG, ENABLE);

    /* 设置 PD.00(D2), PD.01(D3), PD.04(NOE), PD.05(NWE), PD.08(D13), PD.09(D14),
     PD.10(D15), PD.14(D0), PD.15(D1) 为复用推挽输出 */

    GPIO_PinAFConfig(GPIOD, GPIO_PinSource0, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource1, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource4, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource5, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource8, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource9, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource10, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource14, GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource15, GPIO_AF_FSMC);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_4 | GPIO_Pin_5 |
                                GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_14 |
                                GPIO_Pin_15;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_NOPULL;
    GPIO_Init(GPIOD, &GPIO_InitStructure);

    /* 设置 PE.07(D4), PE.08(D5), PE.09(D6), PE.10(D7), PE.11(D8), PE.12(D9), PE.13(D10),
     PE.14(D11), PE.15(D12) 为复用推挽输出 */

    GPIO_PinAFConfig(GPIOE, GPIO_PinSource4 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource5 , GPIO_AF_FSMC);

    GPIO_PinAFConfig(GPIOE, GPIO_PinSource7 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource8 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource9 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource10 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource11 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource12 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource13 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource14 , GPIO_AF_FSMC);
    GPIO_PinAFConfig(GPIOE, GPIO_PinSource15 , GPIO_AF_FSMC);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | 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);

    /* 设置 PD.13(A18 (RS))  为复用推挽输出 */
    GPIO_PinAFConfig(GPIOD, GPIO_PinSource11, GPIO_AF_FSMC);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
    GPIO_Init(GPIOD, &GPIO_InitStructure);

    /* 设置 PG12 (LCD/CS)) 为复用推挽输出 */
    GPIO_PinAFConfig(GPIOG, GPIO_PinSource12, GPIO_AF_FSMC);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
    GPIO_Init(GPIOG, &GPIO_InitStructure);
}

/*
*********************************************************************************************************
*    函 数 名: LCD_FSMCConfig
*    功能说明: 配置FSMC并口访问时序
*    形    参: 无
*    返 回 值: 无
*********************************************************************************************************
*/
static void LCD_FSMCConfig(void)
{
    FSMC_NORSRAMInitTypeDef  init;
    FSMC_NORSRAMTimingInitTypeDef  timingWrite;
    FSMC_NORSRAMTimingInitTypeDef  timingRead;

    /*-- FSMC Configuration ------------------------------------------------------*/
    /*----------------------- SRAM Bank 4 ----------------------------------------*/
    /* FSMC_Bank1_NORSRAM4 configuration */
    /* 摄像头DMA麻点,需设置 4 0 5 2 0 0 */
    timingWrite.FSMC_AddressSetupTime = 4;
    timingWrite.FSMC_AddressHoldTime = 0;
    timingWrite.FSMC_DataSetupTime = 6;
    timingWrite.FSMC_BusTurnAroundDuration = 1;
    timingWrite.FSMC_CLKDivision = 0;
    timingWrite.FSMC_DataLatency = 0;
    timingWrite.FSMC_AccessMode = FSMC_AccessMode_A;

    timingRead.FSMC_AddressSetupTime = 4;
    timingRead.FSMC_AddressHoldTime = 0;
    timingRead.FSMC_DataSetupTime = 8;
    timingRead.FSMC_BusTurnAroundDuration = 1;
    timingRead.FSMC_CLKDivision = 0;
    timingRead.FSMC_DataLatency = 0;
    timingRead.FSMC_AccessMode = FSMC_AccessMode_A;


    /*
     LCD configured as follow:
        - Data/Address MUX = Disable
        - Memory Type = SRAM
        - Data Width = 16bit
        - Write Operation = Enable
        - Extended Mode = Enable
        - Asynchronous Wait = Disable
    */
    init.FSMC_Bank = FSMC_Bank1_NORSRAM4;
    init.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
    init.FSMC_MemoryType = FSMC_MemoryType_SRAM;
    init.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
    init.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
    init.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;    /* 注意旧库无这个成员 */
    init.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
    init.FSMC_WrapMode = FSMC_WrapMode_Disable;
    init.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
    init.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
    init.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
    init.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
    init.FSMC_WriteBurst = FSMC_WriteBurst_Disable;

    init.FSMC_ReadWriteTimingStruct = &timingRead;
    init.FSMC_WriteTimingStruct = &timingWrite;

    FSMC_NORSRAMInit(&init);

    /* - BANK 1 (of NOR/SRAM Bank 1~4) is enabled */
    FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);
}
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2014-1-3 00:26:57 | 显示全部楼层
/*******************************************************************************************************
* 在指定位置显示一个字符串,用外部字库    GT23L24T3Y。Backcolor:背景颜色。
* Forecolor:字体颜色。
* text:16点阵 24点阵 32点阵。   
* setx:字间距。x,y为坐标。
* modo:0:显示背景。1:通透模式
********************************************************************************************************/
void Show_String_x(u8 *str,u16 Backcolor,u16 Forecolor,u8 text,u8 setx,u16 X,u16 Y,u8 modo)
{
        Text_Mode();
       CGROM_Font();       //选择CGROM font0。                         21h,bit7=0
      External_CGROM();    //选择外部CGROM
      if(text!=16&&text!=24&&text!=32)Font_size_16x16_8x16();
      switch(text)
      {
           case 16:
            Font_size_16x16_8x16();
                break;
          case 24:
              Font_size_24x24_12x24();
                break;
          case 32:
              Font_size_32x32_16x32();
                break;
        default:
            break;
      }              
      GT_serial_ROM_select_GT23L24T3Y();
      Font_code_GB2312();
      Font_Arial();
    Serial_ROM_select0(); //0:选择Serial Flash/ROM 0 接口。    05h,bit7=0
      Serial_ROM_Address_set_24bit();    //24Bit寻址模式            05h,bit6=0
    Select_Serial_Waveform_mode3();     //波形模式3            05h,bit5=1
    SERIAL_ROM_Read_Cycle_5bus();     //1 byte 空周期。            05h,bit3=1
      SERIAL_ROM_Font_mode();       //字符模式 。                05h,bit2=0
    SERIAL_ROM_Signal_mode();     //单一模式。                    05h,bit1=0
    SROM_CLK_DIV(0x03);    //SFCL 频率 =系统频率频率/ 4
      Bus_Delay(10);
      Font_Coordinate(X,Y);         //坐标。
      if (modo=0)Font_with_BackgroundColor();
      else Font_with_BackgroundTransparency();
      Text_Background_Color(Backcolor);           //背景颜色
      Text_Foreground_Color(Forecolor);           //字体颜色
      Font_spacing_set(setx);                   //字符水平间距设定
      RA8875_WAITSTATUS();
      Show_String((u8*)str);
      WriteCommand(0x21);
      WriteData(0);
      WriteCommand(0x2E);
      WriteData(0);
      Graphic_Mode();
      
}
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2014-1-3 00:29:50 | 显示全部楼层
//读取个某点的颜色值     
//x,y:坐标
//返回值:此点的颜色
u16 RA8875_GetPixel(u16 X,u16 Y)
{
    u16 RGB;
    Memory_read_Coordinate(X,Y);               
    RA8875_WAITSTATUS();
    WriteCommand(0x02);
    RGB = ReadData();
    RGB = ReadData();
    RGB = ReadData();
    return RGB;
}

这个不知道好不好用。没试过。搞ucos3搞的头大。工程还没做。所以没用。其它的还可以。以前没用ucos。刚搞。
回复

使用道具 举报

0

主题

2

回帖

0

积分

新手上路

努力学!

积分
0
发表于 2016-5-1 21:30:28 | 显示全部楼层
你好。你能发一下RA8875的驱动和原理图吗?我的电路调试不出来,无法驱动。谢谢了!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2016-5-2 10:48:13 | 显示全部楼层

回 向前8869 的帖子

向前8869:你好。你能发一下RA8875的驱动和原理图吗?我的电路调试不出来,无法驱动。谢谢了! (2016-05-01 21:30) 
V5网盘里面:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=1285
回复

使用道具 举报

0

主题

2

回帖

0

积分

新手上路

努力学!

积分
0
发表于 2016-5-2 17:03:32 | 显示全部楼层
这个没法驱动AT070TN83 V.1有没有能够驱动AT070TN83 V.1的代码呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2016-5-3 00:55:24 | 显示全部楼层

回 向前8869 的帖子

向前8869:这个没法驱动AT070TN83 V.1有没有能够驱动AT070TN83 V.1的代码呢? (2016-05-02 17:03) 
没有。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 21:15 , Processed in 0.371428 second(s), 33 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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