将LCD_Init( )中529-633和705-719行注释掉,这是对FSMC初始化相关的代码,cubemx已经帮我们写好了,不需要重新再写了。 Lcd.h中,修改LCD_BASE的定义,cubemx片选是NE1,因此HADDR[27,26]不是11,而是00,因此0x6C000000->0x60000000,而我又选择了A18为数据命令区分线且是16bit,所以后面修改成0x0007FFFE(例:A6...
LCD的RS引脚接FSMC地址线A6(PF12),且此时LCD为16位宽度数据传输,FSMC会将写入的地址自动向右偏移一位,因此LCD的RS引脚选择控制寄存器只需要在起始地址基础上满足A7位为0即可,比如可以是0x6C00 0000,也可以是0x6C00 0040等;LCD的RS引脚选择写数据寄存器只需要在起始地址基础上满足A7位为1即可,比如可以是0x6C00 0...
Write operation(设置是否写使能):选择Enabled,禁止写使能 FSMC 数据只能从存储器中读取,不能写入。 Extended mode(是否设置扩展模式):选择Enabled,在非扩展模式下,只使用存储器读写的顺序 FSMC_BCR 在扩展模式下,存储器的读写顺序可以单独配置,读时序使用 FSMC_BCR 写时序使用寄存器 FSMC_BWTR 配置寄存器。 5.1.1...
1.NOR Flash/PSRAM/SRAM/ROM/LCD 1,这里选择这个也就是STM32的FSMC存储块1(Bank1)了 2. Chip Select,选择Bank1的第四区,是根据原理图的映射管脚进行选择的,这里选择不同区对应的引脚是不同的 3. Memory Type,存储类型,这里当然是选择LCD接口,那么里面还可以选择其他的存储类型,如果需要使用其他类型的存储设备...
FSMC配置 开发板上 TFT-LCD 的原理图如下: 通过原理图可以看出: LCD D0-D15:使用了16bit:FSMC D0 - FSMC D15; LCD_RS:使用FSMC A6来控制向LCD写入数据还是命令(0-命令,1-数据); LCD_BL:背光控制,对应PB5; LCD_CS:LCD片选信号,FMC_NE4,表示使用Bank1的Bank4子区域 LCD_WR :LCD写使能,FSMC_NWE;...
FSMC配置 开发板上 TFT-LCD 的原理图如下: 通过原理图可以看出: LCD D0-D15:使用了16bit:FSMC D0 - FSMC D15; LCD_RS:使用FSMC A6来控制向LCD写入数据还是命令(0-命令,1-数据); LCD_BL:背光控制,对应PB5; LCD_CS:LCD片选信号,FMC_NE4,表示使用Bank1的Bank4子区域 LCD_WR :LCD写使能,FSMC_NWE;...
intmain(void){HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_FSMC_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */TFTLCD_Init();FRONT_COLOR=BLACK;LCD_ShowString(10,10,240,400,12,(uint8_t*)"TFTLCD Testing...!");FRONT_COLOR=RED;LCD_ShowString(10,30,240,400,16,(uint...
MX_FSMC_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */delay_init(); //ÑÓ...
打开工程,在main.c主函数中可以看到初始化部分多了MX_GPIO_Init()函数,此函数即初始化4个LED引脚为输出的函数 右键单击函数,单击Go To Definition Of 'MX_GPlO_Init' 定位(注释3)到函数定义所在的文件gpio.c(注释4)中,可以看到初始化函数中所做的设置正是我们在STM32CubeMX中所做的设置 ...
因为cubemx已经全部帮我们生成了;然后找到初始化函数LCD_Init,将所有初始化FSMC的部分注释掉,因为cube...