[其他ST产品]

原子战舰V3_STM32103ZET6 IO口驱动4.3TFTLCD 字符乱码 求助

[复制链接]
3622|10
手机看帖
扫描二维码
随时随地手机跟帖
robin_chen559|  楼主 | 2021-6-10 17:40 | 显示全部楼层 |阅读模式
#申请原创# #有奖活动# 一.在原点战舰V3板子上修改,将FSMC改为一般IO驱动
1.1IO对照表,已经检查验证,输出正常。
1.  LCD_CS    FSMC_NE4        PG12
2.  LCD_RS    FSMC_A10         PG0
3.  LCD_WR   FSMC_NWE       PD5
4.  LCD_RD     FSMC_NOE       PD4
5.  RESET  硬件
6.  LCD_D0(DB1)  FSMC_D0  PD14
7.  LCD_D1(DB2)  FSMC_D1  PD15
8.  LCD_D2(DB3)  FSMC_D2  PD0
9.  LCD_D3(DB4)  FSMC_D3  PD1
10.  LCD_D4(DB5)  FSMC_D4  PE7
11.  LCD_D5(DB6)  FSMC_D5  PE8
12.  LCD_D6(DB7)  FSMC_D6  PE9
13.  LCD_D7(DB8)  FSMC_D7  PE10
14.  LCD_D8(DB10)  FSMC_D8  PE11
15.  LCD_D9(DB11)  FSMC_D9  PE12
16.  LCD_D10(DB12)  FSMC_D10  PE13
17.  LCD_D11(DB13)  FSMC_D11  PE14
18.  LCD_D12(DB14)  FSMC_D12  PE15
19.  LCD_D13(DB15)  FSMC_D13  PD8
20. LCD_D14(DB16)   FSMC_D14  PD9
21. LCD_D15(DB17)   FSMC_D15  PD10
22.GND
23.LCD_BL                                       PB0
24.VCC 3.3V
25.VCC 3.3V
26.GND
27.GND
28.VCC
29.T_MISO                                      PB2      
30.T_MOSI                                      PF9
31.T_PEN                                        PF10
32.MO    _NG
33.T_CS                                          PF11
34.T_SCK                                        PB1            

1.2已经完成
(1)初始化,清屏,蓝色背景--OK。
(2) 一般打点,可以。--OK
(3)快速打点,可以,点坐标会错乱。--NG
(4)字符引用快速打点,打出来背景点,没有字符。--NG

1.3一些IO替换FSMC读写的子程序见附件

实验13 TFTLCD显示实验V103ZE.zip

3.06 MB

源程序包

使用特权

评论回复
yangxiaor520| | 2021-6-10 21:07 | 显示全部楼层
程序时序检查一下

使用特权

评论回复
huangcunxiake| | 2021-6-10 22:04 | 显示全部楼层
这是厂家的例子吗

使用特权

评论回复
robin_chen559|  楼主 | 2021-6-11 09:13 | 显示全部楼层

测了 初始化完成 正常画点没问题  快速 画点 有问题  显示字符

使用特权

评论回复
robin_chen559|  楼主 | 2021-6-11 09:15 | 显示全部楼层

厂家例子上修改的

使用特权

评论回复
tail066| | 2021-6-30 17:13 | 显示全部楼层
偷偷关注下,看看问题在哪里

使用特权

评论回复
robin_chen559|  楼主 | 2021-7-2 14:11 | 显示全部楼层
tail066 发表于 2021-6-30 17:13
偷偷关注下,看看问题在哪里

对一半 错一半  比较难搞

使用特权

评论回复
tail066| | 2021-7-2 15:58 | 显示全部楼层
robin_chen559 发表于 2021-7-2 14:11
对一半 错一半  比较难搞

fsmc不是挺好用的么?
干嘛不用

使用特权

评论回复
robin_chen559|  楼主 | 2021-7-9 16:44 | 显示全部楼层
tail066 发表于 2021-7-2 15:58
fsmc不是挺好用的么?
干嘛不用

手上的芯片没有FSMC功能

使用特权

评论回复
robin_chen559|  楼主 | 2021-7-13 16:23 | 显示全部楼层
战舰MINI一个端口的IO给DB就没问题  不同端口的IO去驱  写时序用逻辑分析仪看正常  端口电平也正常 ————初始化可以  画点 写字总偏一些 X Y坐标定位跟IO关系这么大?
//-----------------LCD端口定义----------------
#define        LCD_LED PEout(1)                                      //LCD 背光            PE1
#define        LCD_RST PEout(15)                                      //LCD 复位             PE15

#define        LCD_CS_SET  GPIOE->BSRR=1<<7   //片选端口                    PE7
#define        LCD_RS_SET        GPIOE->BSRR=1<<8    //数据/命令                 PE8          
#define        LCD_WR_SET        GPIOE->BSRR=1<<11    //写数据                          PE11
#define        LCD_RD_SET        GPIOE->BSRR=1<<13    //读数据                          PE13
                                                                    
#define        LCD_CS_CLR  GPIOE->BRR=1<<7     //片选端口                  PE7
#define        LCD_RS_CLR        GPIOE->BRR=1<<8     //数据/命令                PE8          
#define        LCD_WR_CLR        GPIOE->BRR=1<<11     //写数据                        PE11
#define        LCD_RD_CLR        GPIOE->BRR=1<<13    //读数据                        PE13        

//PB0~15,作为数据线
#define DATAOUT(x) GPIOB->ODR=x; //数据输出
#define DATAIN     GPIOB->IDR;   //数据输入       



实验13 TFTLCD显示实验V103V8.rar

2.37 MB

IO模式驱动TFTLCD

使用特权

评论回复
robin_chen559|  楼主 | 2021-7-23 15:28 | 显示全部楼层
#define DATAOUT(x)        \
{\
        D0_W =  (x>>0&0x0001);\
        D1_W =  (x>>1&0x0001);\
}
//优先级 &大于 >> 必须加括号D0_W = ((x>>0)&0x0001);
但是也能初始化  也能刷屏出底色  奇了怪了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

300

帖子

10

粉丝