具体来说,FSMC_NE4引脚与LCD的片选信号CS相连,FSMC_NOE引脚与LCD的读引脚RD相连,而FSMC_NWE引脚则与LCD的写引脚WR相连。此外,我们还选择FSMC_A6地址线来连接LCD的寄存器/存储器选择信号RS,以及将FSMC_D[15:0]数据线与LCD的16位数据线D15D0相连。这样一来,LCD便能以16位8080接口模式进行工作。而关于TFT...
LCD配置为16位数据宽度,因此内部地址的偏移量是外部地址2倍,即假定FSMC_A的地址值取x,则映射到内部地址,则实际地址首地址应为0x6C000000+2x。由于此次仅用到A6,即FSMC_A[6],若该位取0时,其他地址线也取0,则FSMC_A的值为0,此时其映射的AHB地址为0x6C000000;若FSMC_A[6]取1,且其他地址线都取0,则FSM...
A6(红色标出)为低电平,这时数据线上的是命令,所以写命令函数就是直接往LCD_REG写就行了,实际上就是为了让RS接低电平,当往0x6C00007F地址(LCD_RAM)中写时,FSMC地址线低8位是01000000,A6(红色标出)为高电平,这时数据线上是数据,所以写数据就直接往LCD_RAM中写,实际是为了让RS接高电平。
GPIO_Init(FSMC_A5_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = FSMC_A6_GPIO_PIN; GPIO_Init(FSMC_A6_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = FSMC_A7_GPIO_PIN; GPIO_Init(FSMC_A7_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = FSMC_A...
当FSMC模拟80并口时序驱动LCD外设时,以A6为例,作为LCD_RS信号控制线,A6输出0写命令,A6输出1写数据。当外设是8位位宽时,FSMC以HADDR[25:0] (映射FSMC_A[25:0])对外寻址,只要HADDR[25:0]的Bit6为0写命令,为1写数据。当外设是16位位宽时,FSMC以HADDR[25:1](映射FSMC_A[24:0])对外寻址,相当于整个地址...
在STM32CubeMX软件中,打开图5所示的设置界面,首先设置Mode选项内容,配置NOR Flash/PSRAM/SRAM/ROM/LCD 3,即选择Bank1.Sector3连接数码管,片选信号:NE3,存储器类型:LCD Interface,LCD的RS信号:A6,数据宽度:16位。随后配置Configuration选项内容,其中大部参数采用默认即可,使能扩展模式,使其支持分开设置读写时序。对...
Lcd.h中,修改LCD_BASE的定义,cubemx片选是NE1,因此HADDR[27,26]不是11,而是00,因此0x6C000000->0x60000000,而我又选择了A18为数据命令区分线且是16bit,所以后面修改成0x0007FFFE(例:A6,8bit:1 1111->0x1F;A6,16bit:11 1110->0x7E;A18,16bit:111 1111 1111 1111 1110->0x7FFFE;) 编译中如果出现和...
LCD_RS:使用FSMC A6来控制向LCD写入数据还是命令(0-命令,1-数据); LCD_BL:背光控制,对应PB5; LCD_CS:LCD片选信号,FMC_NE4,表示使用Bank1的Bank4子区域 LCD_WR :LCD写使能,FSMC_NWE; LCD_RD:LCD读使能,FSMC_NOE; RESET:LCD复位信号,直接与单片机复位信号接在一起; 根据这些信息,在STM32CubeMX中先配...
液晶按照挂载的区域和A6引脚来计算地址 #define Bank1_LCD_CMD ((uint32_t) 0X60000000)#define ...
PF12 FSMC_A6 PE9 FSMC_D6 PC3 SYNC0_INT PF13 FSMC_A7 PE10 FSMC_D7 PC1 SYNC1_INT PF14 FSMC_A8 PE11 FSMC_D8 PC0 PDI_INT PF15 FSMC_A9 PE12 FSMC_D9 PG0 FSMC_A10 PE13 FSMC_D10 PG1 FSMC_A11 PE14 FSMC_D11 PG2 FSMC_A12 PE15 FSMC_D12 PD8 FSMC_D13 PD9 FSMC_...