
分享如题. 经过努力总算把fsmc移植到由cubeMX创建的工程中,并且成功运行,MCU是STM32F103VET6和GD32F103VET6和GD32F207VGT6[查手册两者几乎完全一样,确实在编程运行上没有任何不适]. 意外的是采用不同版本的cubeMX测试的结果相差很大,如果可以上传视频,马上可以看到结果,就像不同系统完成的作品一样. 本分享是针对TouchFX的芯片,而采用fsmc方式控制TFTLCD的测试,仅仅是想自己创建工程,其中具有LCD----采用存储控制方法实现LCD. 一开始直接采用MX5.30进行测试,由于没有掌握方法,一直不成功,最好的一次也仅仅是出现了花屏----良好的开端,为了不浪费时间,先降格MX4.23生成几乎相同的工程,大约设置如下,为了最快效果8MHz晶振,这样主频可到72MHx. Pin Nb PINs FUNCTIONs LABELs 12 OSC_IN* RCC_OSC_IN OSC1 13 OSC_OUT* RCC_OSC_OUT OSC0 23 PA0-WKUP SYS_WKUP UKey 24 PA1 ADC1_IN1 ADC1 25 PA2 ADC1_IN2 ADC2 26 PA3 ADC1_IN3 ADC3 29 PA4 SPI1_NSS SPI1NSS 30 PA5 SPI1_SCK SPI1SCK 31 PA6 SPI1_MISO SPI1MISO 32 PA7 SPI1_MOSI SPI1MOSI 38 PE7 FSMC_D4 LCDAD4 39 PE8 FSMC_D5 LCDAD5 40 PE9 FSMC_D6 LCDAD6 41 PE10 FSMC_D7 LCDAD7 42 PE11 FSMC_D8 LCDAD8 43 PE12 FSMC_D9 LCDAD9 44 PE13 FSMC_D10 LCDAD10 45 PE14 FSMC_D11 LCDAD11 46 PE15 FSMC_D12 LCDAD12 47 PB10 USART3_TX UART3TX 48 PB11 USART3_RX UART3RX 51 PB12 I2S2_WS I2S2WS 52 PB13 I2S2_CK I2S2CK 54 PB15 I2S2_SD I2S2SD 55 PD8 FSMC_D13 LCDAD13 56 PD9 FSMC_D14 LCDAD14 57 PD10 FSMC_D15 LCDAD15 58 PD11 FSMC_A16 LCDADDG 60 PD13 TIM4_CH2 PWM4_T42 61 PD14 FSMC_D0 LCDAD0 62 PD15 FSMC_D1 LCDAD1 63 PC6 I2S2_MCK I2S2MCK 64 PC7 TIM8_CH2 PWM4_T82 70 PA11 TIM1_CH4 PWM1_T14 77 PA15 GPIO_Output LED3 78 PC10 GPIO_Output LED0 80 PC12 UART5_TX U5_TX 81 PD0 FSMC_D2 LCDAD2 82 PD1 FSMC_D3 LCDAD3 83 PD2 UART5_RX U5_RX 85 PD4 FSMC_NOE LCDADRD 86 PD5 FSMC_NWE LCDADWR 88 PD7 FSMC_NE1 LCDADCS 91 PB5 TIM3_CH2 PWM3_T32 92 PB6 I2C1_SCL I2C1SCL 93 PB7 I2C1_SDA I2C1SDA 由于自己设计的板子有两种5CMx5CM的和8.6CMx7CM,LCD可以焊接3,2.8和高分辨2.4寸通用版.注意,4.23 版和5.30版的工程差不多,只是GD32F207VGT6这个的主频设计为108MHz.EXIT_GPIO,GPIO,PWM,ADC,DAC等都差不多,I2C,USART,CAN,串口LCD一应俱全. 脱题太远了,回来接着,在4.23下比较顺利的实现了fsmc的驱显,在手机上发过视频----针对TouchFX不成功人士建议采用fsmc来驱显LCD.往右数速度不快,作为心病先放下了. 最近有空,顺便将5.30的工程做实验,有了4.23的成功,不多久5.30也成功驱显.结果见视屏,两者相差非常大.由于着不能传视屏,只好文先放上,视屏成功后再增加链接. 优酷太慢,2个多小时才24%.改从百度网盘: 百度网盘地址:https://pan.baidu.com/s/1nwWSm_Y-JkAYAYD8AfKaLg 打开密码:6yas 尝试用GD32F207VGT6,速度更快,大约快一倍左右.有空再传. 谢谢观赏. |
看来优化选设很重要!
另外一点是NRST复位的问题,MCU首次下载没有问题,但发现复位键不起作用了拔插电源才可重启.询问TI也是建议查找程序问题,以外发现是重载荷(可以理解代码较多)时,BOOT0接地,就可以了.
余下的唯一问题就是简单程序,比如点亮LED,单功能测试,或不太复杂的应用,可以直接下载代码.但程序一复杂,则下载前必须按住NRST键再松手才开始下载.
Option中无论如何设置都是这样,好在仅在下载时,就先这样了.