|
分享如题. 经过努力总算把fsmc移植到由cubeMX创建的工程中,并且成功运行,MCU是STM32F103VET6和GD32F103VET6和GD32F207VGT6[查手册两者几乎完全一样,确实在编程运行上没有任何不适]. 意外的是采用不同版本的cubeMX测试的结果相差很大,如果可以上传视频,马上可以看到结果,就像不同系统完成的作品一样. 本分享是针对TouchFX的芯片,而采用fsmc方式控制TFTLCD的测试,仅仅是想自己创建工程,其中具有LCD----采用存储控制方法实现LCD. 一开始直接采用MX5.30进行测试,由于没有掌握方法,一直不成功,最好的一次也仅仅是出现了花屏----良好的开端,为了不浪费时间,先降格MX4.23生成几乎相同的工程,大约设置如下,为了最快效果8MHz晶振,这样主频可到72MHx.- I3 Z1 q: L( _. E6 N Pin Nb PINs FUNCTIONs LABELs 12 OSC_IN* RCC_OSC_IN OSC1 13 OSC_OUT* RCC_OSC_OUT OSC0! A/ s. O3 h+ | r4 C- } 23 PA0-WKUP SYS_WKUP UKey. P6 I6 R2 I: k' b2 a- ]- y 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% v6 L. h/ R7 Q3 W* N, i! {; i+ ? 38 PE7 FSMC_D4 LCDAD4 39 PE8 FSMC_D5 LCDAD5 40 PE9 FSMC_D6 LCDAD60 _# J& F; ?+ c. r 41 PE10 FSMC_D7 LCDAD7 42 PE11 FSMC_D8 LCDAD8 C- u; W4 v$ u/ N 43 PE12 FSMC_D9 LCDAD9& V! d' Q1 Q, U% b8 P0 G 44 PE13 FSMC_D10 LCDAD107 z: d( y6 K9 X- c- U 45 PE14 FSMC_D11 LCDAD110 p& s2 ]; k( N; B$ k: w. @ 46 PE15 FSMC_D12 LCDAD12 47 PB10 USART3_TX UART3TX6 k6 x, [( w; {. M2 c7 { 48 PB11 USART3_RX UART3RX 51 PB12 I2S2_WS I2S2WS; a: f7 u4 L5 \, z- |! e 52 PB13 I2S2_CK I2S2CK4 N* K- U! M( E" t 54 PB15 I2S2_SD I2S2SD 55 PD8 FSMC_D13 LCDAD135 ^; K5 Z- K3 m! u5 n 56 PD9 FSMC_D14 LCDAD141 ]4 v% K3 G6 s6 Z$ W/ W 57 PD10 FSMC_D15 LCDAD15$ j( c \0 a! z, P0 O 58 PD11 FSMC_A16 LCDADDG" v5 f9 k3 O5 I 60 PD13 TIM4_CH2 PWM4_T42) ]& t. }! I. p 61 PD14 FSMC_D0 LCDAD0 62 PD15 FSMC_D1 LCDAD13 w- r2 j% K2 B 63 PC6 I2S2_MCK I2S2MCK 64 PC7 TIM8_CH2 PWM4_T82 70 PA11 TIM1_CH4 PWM1_T14( a$ Y, A9 {: J. @* V) _/ \, O' \! m 77 PA15 GPIO_Output LED3$ y* Y0 B5 x2 X$ p4 N' k 78 PC10 GPIO_Output LED0. B# H2 {$ [( E/ X( c 80 PC12 UART5_TX U5_TX 81 PD0 FSMC_D2 LCDAD2: [/ i2 {/ U% D5 Q 82 PD1 FSMC_D3 LCDAD30 ]( j2 x; H& y( P/ p; C 83 PD2 UART5_RX U5_RX 85 PD4 FSMC_NOE LCDADRD! `4 |, _2 ?) Y: V) n1 v( y; d 86 PD5 FSMC_NWE LCDADWR" t# J( ]0 p$ Z Y* ~ 88 PD7 FSMC_NE1 LCDADCS" A9 @9 b# ^- L% r2 _: Z# n6 A 91 PB5 TIM3_CH2 PWM3_T32 92 PB6 I2C1_SCL I2C1SCL4 Z6 V2 r4 ]1 ? L 93 PB7 I2C1_SDA I2C1SDA% Y; ~: s5 G6 s) u: w 由于自己设计的板子有两种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也成功驱显.结果见视屏,两者相差非常大.由于着不能传视屏,只好文先放上,视屏成功后再增加链接." _! o4 L% w$ k7 N, m 优酷太慢,2个多小时才24%.改从百度网盘:% U S! R" b, d( }$ a 百度网盘地址:https://pan.baidu.com/s/1nwWSm_Y-JkAYAYD8AfKaLg 打开密码:6yas- J1 W0 C) k3 `$ A. s! l; T' Z( m 尝试用GD32F207VGT6,速度更快,大约快一倍左右.有空再传.0 h: k, i* O4 b: N9 X( ^ 谢谢观赏.- N4 E# e% j# _: U+ G0 ?5 e 6 Z% m; n5 b' c/ M% V( } |
微信公众号
手机版
看来优化选设很重要!% t* t ]) J$ _- _! u
另外一点是NRST复位的问题,MCU首次下载没有问题,但发现复位键不起作用了拔插电源才可重启.询问TI也是建议查找程序问题,以外发现是重载荷(可以理解代码较多)时,BOOT0接地,就可以了.. J1 h9 W* [) X `
余下的唯一问题就是简单程序,比如点亮LED,单功能测试,或不太复杂的应用,可以直接下载代码.但程序一复杂,则下载前必须按住NRST键再松手才开始下载.
Option中无论如何设置都是这样,好在仅在下载时,就先这样了.