fsmc虚拟磁盘模拟分区软件8080的时候用第一分区a10的时候地址是多少

查看: 739|回复: 6
FSMC_A10地址问题
主题帖子精华
初级会员, 积分 96, 距离下一级还需 104 积分
在线时间12 小时
选择BANK1-BORSRAM4 时 &A10的地址到底是多少 求大神解答
参考我们战舰板LCD显示实验。
主题帖子精华
在线时间354 小时
参考我们战舰板LCD显示实验。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
初级会员, 积分 96, 距离下一级还需 104 积分
在线时间12 小时
回复【2楼】正点原子:
---------------------------------
参考了&但是有点看不懂啊&能给详细讲解一下么
主题帖子精华
在线时间354 小时
回复【3楼】加菲老爷:
---------------------------------
多百度。
我是开源电子网站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子
主题帖子精华
新手上路, 积分 37, 距离下一级还需 13 积分
在线时间5 小时
你是说这根地址线的地址,还是在显示实验里边RS接A10如何算基地址
主题帖子精华
中级会员, 积分 255, 距离下一级还需 245 积分
在线时间29 小时
你是说这根地址线的地址,还是在显示实验里边RS接A10如何算基地址
这个问得细啊
我是初学者
专注显示科技 - - - 让每一DOT诠释生命的精彩
TFT显示屏:& &https://boy-
主题帖子精华
初级会员, 积分 77, 距离下一级还需 123 积分
在线时间6 小时
发表于 4&天前
A10的地址到底是多少
Powered by关于STM32 FSMC 是否支持6800时序的深入讨论----我被搞晕了!
在我的“学习使用32位微控制器STM32的汇报(20楼提供一个完整的,简单的DEMO参考)”帖子中(/bbs/bbs_content.jsp?bbs_sn=3546694&bbs_page_no=1&bbs_id=3020),我指出STM3210E-LK中LCD的硬件设计问题:LCD控制器按6800方式连接的,我读了STM32的器件手册后,认为STM32的FSMC不支持6800,所以认定设计电路是错误的。
& &尽管ST的工程师也电话与我勾通过,但到目前没有任何确定的答复,到底是正确还是错误。昨天在准备课程时,看到了这样的介绍:
(原文件名:未标题-2 拷贝.jpg)
以上来自:点击此处下载
(原文件名:STM32_101.103系列(宣传手册).pdf)
& & 我出了身冷汗,人家STM32支持6800呀,我犯了错误了。
& & 今天在网上找了半天STM32的FSMC如何支持6800的资料,没有找到。到是在21IC的STM32专栏中也发现有人问这样的问题:
& & “[STM32] 用STM32的FSMC驱动摩托罗拉6800液晶总线遇到难题”(/icview--1.html),而那里的ST斑竹的回答是:实际上,我没有研究过这个LCD的驱动问题,等有时间我再看看AN2790附带的程序,你也可以先看看这个程序。
& &&&根据该帖子的线索,我到ST官方站上下载了AN2790,结果看到的东西把我弄晕了。
& &&&在这个应用文档中有6800的连接参考图:
(原文件名:未标题-1 拷贝.jpg)
以上来自:点击此处下载
(原文件名:AN2790_TFT LCD interfacing with the high density STM32F10xxx FSMC.pdf)
& & 两个图中都不是完整的FSMC的功能:一个是使用一个GPIO口线辅助;而另外使用一个非门做转换,实际是把8080的时序转成了与6800兼容!
& & 那么到底STM32的FSMC支持不支持6800呢?该如何回答和定义?
& & 不过使我感到稍微定心的是,STM3210E-LK板上的LCD选择6800接口,但与STM32的连接与AN2790中2个图是不同的,还是应该有问题的,这一点我没有说错。
& & 可能的结果是:
& & 1。STM32的FSMC不能完全支持6800时序。
& & 2。如果完全支持6800时序,那么ST官方的应用文档中的参考电路为何要使用额外的GPIO或非门转换?并且在数据手册中根本也找不到6800的时序?
把STM32的FSMC支持6800的出处也找到了:
(原文件名:未标题-2 拷贝.jpg)
来自:点击此处下载
(原文件名:STM32 MCU family.pdf)
搞嵌入式应用,首先是硬件。硬件不对,软件就无从谈起了。
马老师分析的真详细,STM32的FSMC所谓的支持6800,实际是把支持8080的时序转成了与6800兼容!
顶一个,说的太对了!
手上没有用到6800的器件
没注意看这些.
本来是硬件设计人员应该掌握的
但ST的公开资料说&支持6800&就欠妥了
而且还搞出个用GPIO模拟的
而且6800的LCD也并不使用模拟的6800,这就比较搞笑了...
马老师备课到那么晚啊,pf
关注这个问题。
我还是喜欢把硬件搞清楚再搞软件。
这个问题我很早就发过帖子,无奈当时没人响应,帖子如下地址:
/bbs/bbs_content.jsp?bbs_sn=3376949&bbs_page_no=1&search_mode=3&search_text=&bbs_id=9999
因为这个原因害我费了一块PCB板。最后实在没有办法,只好使用以前在51上扩6800时序的方法,加了一片与非门搞定的。应用手册上说的简直是垃圾,我敢肯定ST自己都没有经过验证的。
列位看官,咱上一回说到的“FSMC是否支持,以及如何支持6800”的问题还只是在查找资料(注意:所有资料均来自于ST官方!)过程中发现的,不过这仅是让老朽刚开始晕,还不至于晕倒。
本回讲述的是实际测试结果,这个结果却让老朽更加晕,晕倒了。
列位看官(包括ST的工程师)可能会有疑问,因为如果在STM3210E-LK上运行其所带的DEMO程序的话,LCD是能显示ST的LOGO、包括其它的相应的提示字符。如果是硬件问题,那么这个DEMO是如何正常驱动LCD的?
我也一直存在着疑问,想了解清楚,ST的DEMO软件是怎样饶过这个硬件错误的?还是FSMC的确是支持6800?STM3210E-LK上的LCD连接方式并没有采用AN2790的电路,那它如何却能够工作?
由于我手上原来STM3210E-LK板上的LCD电路已经被我改成了8080方式,所以测试、比对、验证无法开展。昨天拿到ST公司新的STM3210E-LK板后,我进行了一系列的测试、验证工作。
============================================================
一、测试条件、代码介绍
2块STM3210E-LK学习板:一块是没有改动过,LCD采用6800模式(下面称A板);一块是改动过的,LCD采用8080方式(下面称B板)。
测试代码是根据ST的DEMO简化的,只使用LCD,开始显示一个画面,然后使用一个按键,控制4个LED二极管循环点亮(走马灯)。相同的代码,分别在A和B板上运行,看结果。然后改变某些设置,再分别在A和B板上运行,看结果。
点击此处下载
(原文件名:STM32_Demo2 for MDK.rar)
二、FSMC的配置
先把STM3210E-LK附带DEMO中LCD部分的FSMC配置代码贴上:
void LCD_FSMCConfig(void)
#ifndef NO_LCD&&
&&FSMC_NORSRAMInitTypeDef&&FSMC_NORSRAMInitS
&&FSMC_NORSRAMTimingInitTypeDef&&p;
/*-- FSMC Configuration ------------------------------------------------------*/
/*----------------------- SRAM Bank 4 ----------------------------------------*/
&&/* FSMC_Bank1_NORSRAM4 configuration */
&&p.FSMC_AddressSetupTime = 1;
&&p.FSMC_AddressHoldTime = 1;
&&p.FSMC_DataSetupTime = 20;
&&p.FSMC_BusTurnAroundDuration = 0;
&&p.FSMC_CLKDivision = 0;
&&p.FSMC_DataLatency = 1;
&&p.FSMC_AccessMode = FSMC_AccessMode_A;
&&/* Color LCD configuration ------------------------------------
& &&&LCD configured as follow:
& && &&&- Data/Address MUX = Disable
& && &&&- Memory Type = SRAM
& && &&&- Data Width = 16bit
& && &&&- Write Operation = Enable
& && &&&- Extended Mode = Enable
& && &&&- Asynchronous Wait = Disable */
&&FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;
&&FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_D
&&FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
&&FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_8b;
&&FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_D
&&FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_L
&&FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_D
&&FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitS
&&FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_E
&&FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_D
&&FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_D
&&FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_D
&&FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
&&FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
&&FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);&&
&&/* BANK 4 (of NOR/SRAM Bank 1~4) is enabled */
&&FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);
注意:该代码前面对FSMC_NORSRAMTimingInitTypeDef的定义部分(FSMC_WriteTimingStruct)实际是不起作用的,因为在后面语句中的: FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_D 一句是将FSMC的ExtendedMode方式禁止了,所以前面对FSMC_WriteTimingStruct是多余的,浪费代码。
ST的DEMO中使用的是ST的库函数,而我的测试代码使用了STM32_init.c,FSMC的设置同上面相同:
(原文件名:未标题-2 拷贝.jpg)
我的测试代码中使用STM32_Init.c进行初始化配置,FSMC部分是我添加到STM32_Init.c中的。
三、测试比对一
FSMC的配置不变(实际就是8080的时序),只是改变系统运行时钟的频率:72M、64M、56M、48M....或直接使用内部RC 8M,禁止PLL。
结果如下:
& & A板(6800方式),只是在72M时,LCD能正常显示。其它频率LCD根本就不显示了,但LED走马灯正常工作,按键功能正常,说明程序在正常运行。
& & B板(8080方式),任何频率下,LCD都正常显示工作。(这个应该是当然的)
第一次晕倒!A板为什么在72M时,LCD能工作?(不知道为什么,就是晕倒了)。
四、测试比对二
这个测试是我“凑”出来的,因为既然在72M下,LCD能工作,那么FSMC中的某些模式是否就是6800方式?
(原文件名:未标题-4 拷贝.jpg)
改变FSMC的配置,允许Write burst enable!
结果如下:
& & A板(6800方式),任何频率下,LCD都正常显示工作。
& & B板(8080方式),任何频率下,LCD都正常显示工作。
神奇呀,并再一次重重的晕倒!!
为什么神奇?因为我已经看过STM32手册FSMC部分N遍了,里面根本没有允许Write burst enable后FSMC的读写时序图,而当我允许“Write burst”后,FSMC的时序完全兼容,并且自动识别了?
================================================================
到次老朽是彻底晕倒了,因为实在不知道为什么,也找不到根据。反正这样设置,LCD(至少是STM3210E-LK上的LCD),不管是6800方式,还是8080方式,都能正常工作显示了。
ST公司的资深工程师们,是否能稍微去掉一点浮华的外表,踏踏实实的给出一个解释,说明原因?
【7楼】 hottest_boy 原野牧歌:
你好象有一块类似STM3210E-LK的板:EK-STM3210E。
我看过它的资料,应该与STM3210E-LK一样。你可以直接改动DEMO,看LCD工作是否正常:
1。只是改变系统的工作频率(DEMO工作在72M下),如32M等。
2。在FSMC配置中,允许Write burst:
& &既将:FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_D
& &改成:FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_E
& &其它不变,然后在使用不同的系统时钟频率试一下。
我铁定了要跟着马老师蹙额STM32
这个必须 MARK
面的以后用6800时序的液晶的时候头疼
谢谢马老师,我一会儿试验一下。结果我试后贴上来。
我按您上面的要求做了一下,在MDK3.8里边编译通过,下载成功,但是调试时没有反应,应该是死机了。
我又下载了MDK4.0,编译没有提示任何问题,下载成功,问题一样。
重新下载Demo1成功,没有任何问题。继续研究。
此板运行自带的Domo成功,我原来简单的使用IAR重bian重编译下载过,成功。
开发板版本为:EK-STM3210 Rev.B
此外MDK使用自带的库,没有升级为最新的3.1,明天试试看。
今天我简单的在两个Demo之间更换了STM32_Init.c,屏蔽了Demo2中的LCD部分,发现了Demo2中的STM32_Init.c文件和我的板不是很兼容,我简单对比了一下我的EK-3210E的板的版本和您的不同,线路有些变化,我的带ISP插座,其它地方还没有仔细核对电路图。不知道是不是这个原因造成Demo2无法在我的开发板上使用。
我将Demo2的STM32_Init.c文件复制到Demo1中,然后将Configuration Wizard配置设置成一样,编译出来还是有差异,估计非Wizard设置部分的程序有不同而引起的。在使用Demo2中的STM32_Init.c文件,选中Clock Configuration,编译无问题,下载调试死机;不选中,LED变换的速度也非常慢。而原配的Init.c文件没有这个问题。
具体原因后面还在慢慢分析,附件为我的开发板随机的手册,供参详。
EK-STM3210E_随机手册.pdf (原文件名:EK-STM3210E_随机手册.pdf)
你的板同STM3210E-LK稍微有点不同,但LCD、KEY、LED等决大部分是相同的。LCD的电路也是6800方式。
我重发DEMO2,你再试一下(我已经使用MDK40了)。DEMO2中的STM32_Init.c我改动过,增加了FSMC部分的设置,可能你先前下载的有点问题。
点击此处下载
(原文件名:STM32_Demo2 for MDK.rar)
或者你直接使用原板的DEMO,就用2.0.3库。如果不动的话能运行,然后仅把PLL的倍数降低,比如5,看LCD是否还有显示。
如果没有显示,再改变FSMC部分的设置(在LCD.CZ中),就是我在9楼贴出的那段代码中的一句:
既将:FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_D
改成:FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_E
这个需要仪器派出马了
哪位有高档逻辑分析仪的大侠能否把时序测一下,给个定论,免得盲人摸象似的揣測。
电脑的西数640G的硬盘用了半年,估计挂了,里边500G左右的资料,不知道能不能找会,烦。
这几天都没有搞电子,等电脑搞好,EK-STM3210E搞出结果后再回复。
开发板的事一定要搞出个结果来。
用8080模式的RD接E, WR接R/W 这样的接法本身就有问题
这样接去讨论在72M下可以显示,或是在write burst enable下能用,都已经不重要了
因为这种接法会可以正常显示,算是一个特例,一个巧合
只因为是在8080的写入模式时,WR为低电平,RD为高电平 =& 刚好满足6800写入模式R/W为低电平,E要为高电平的要求
在读出模式时,是绝对不能用的,只是这个LCD模块只需要写入模式,刚好可以不需要用到读出模式,就可以正常显示
如果用这种方式去接其他6800器件或需要读出模式的LCD模块,是必死无疑的
谢谢马老师认真仔细的分析与测试,经搭电路上机验证,改了一条语句 FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_E 确实可行,完全支持 STM32 规格书上所描述的 支持Intel的8080和Motorola的6800时序 ,只是 STM32 的规格书写的实在太牛了,有人说,STM32 的规格书是写给本科学历以上的高手看的,现在连马老师这等顶级教授都彻底晕倒了,我等连初中文凭都没有的P民,看来只能把握这唯一的机会,紧紧跟着马老师学习的步伐搞懂搞清STM32先进的设计原理和思想, 才有可能活学活用,用好用精STM32这等专门为本科学历以上的高手设计的先进芯片。
xuyiyi 许意义:
没想到你现在有工夫玩STM32拉,不过可别听我的,我也是刚上手,没有使用经验。
关于STM32的FSMC是否支持6800时序的问题,我的观点是:
1。STM32的FSMC接口本身是不支持6800时序的。因为在STM32的手册中给出的FSMC接口引脚定义和操作时序图中,根本没有任何与6800相关的的东西。
2。ST公司的宣传资料中的说法,是不负责任的,偷梁换柱的说法,尽管它在前边加上了一个LCD驱动器的限定。另外从ST公司的AN2790中给出的2个参考电路看,也证明还需要在硬件上做变化。但这两个参考的兼容6800的电路实际也是不可靠的。
3。所以我的结论是:如果在实际产品设计中,千万不要使用什么6800的接口,否则会犯原则上的错误。例如驱动LCD,就应该使用LCD的8080接口。
4。至于上面我谈到的改了一条语句,LCD工作正常的情况,只是一个特例。它只是在STM3210E-LK上驱动LCD,以及特定的软件下。我是因为需要上课,而改动15块版的硬件很难做到,只能尝试改动软件,但我都不知道为什么可以。所以发到这里,想讨教这里的STM32高手。
STM32如果不是硬件上的牛人,最好小心为妙。
我已经深深的上当了。
ADC,IIC,SPI。。。还没有顺手的。虽然说我的水平不够,但也不至于这么夸张吧
直接用的GPIO驱动了 T6963C,呵呵
我认真看了ST的AN2790应用文档和所带的参考代码,发现以下问题:
1。尽管在AN2790中,给出了FSMC转6800的两个参考电路(见楼主位图),但参考代码中是使用的8080时序,而且该参考代码所对应连接的LCD也是8080的接口,不是6800。因此不能确定该代码是否能正确配合2个6800电路的使用。
2。ST的AN2790中第一个6800转换参考,使用一个GPIO模拟6800的E信号,电路上是可行的,但这个GPIO需要单独写代码控制,与FSMC的配合变成了不伦不类的组合,我都不知道控制这个GPIO的代码如何写。当FSMC读写操作一个数据时,总线上的操作是自动完成的,你怎样在这其中插上这条将GPIO(E)置高清另的指令?如果象23楼说的全部直接用GPIO方式驱动是可以的,但那已经不是FSMC功能了,而且效率也差的多了。
3。ST的AN2790中第二个6800转换参考,使用一个非门将CS取反作为6800的E信号,这在时序上非常不严格。在6800中,E信号的高电平表示数据有效,它的下降沿通常是数据写(读)的打入信号。而CS是片选信号,通常CS为低,片子工作,CS为高,片子不工作,数据线高阻态。因此当CS从低变高时,E从高变低(下降沿),而且E是CS取反,比CS的变化要慢(经过硬件非门延时了)。想一想,CS变高了,芯片已经不工作了,此时的E信号的下降沿还有用处吗?
4。AN2790中的2个参考电路都是把8080的WR作为6800的R/W,这样做只能说还能过的去。注意到6800的R/W在一个数据读写过程中,完整的保持高或低电平(与地址信号基本同步)。因此,当8080读的时候WR始终为高,这个还与6800相同;但当8080写的时候,与6800的R/W就产生差别了:8080的WR通常在地址和数据都出现后才发出“低”的WR,不是与地址同步的,这与6800的R/W就有差别:留给外部6800器件的操作的时间至少减少了1/4~1/3。
ding...节外生枝了???
好看了 。等待ST官方解释。。
23楼说的T6963C模块是8080模式的模块,用GPIO或FSMC都可以
如果要用8080模式驱动6800液晶(如1602),我的方法是把RD和WR用与非门(如HC00)产生 E 信号,R/W 则接到 A1 ,RS 接 A0
如此可以只要用#DEFINE 寄存器地址 在写入时让A1为 0 ,读出时让 A1 为 1 就可以了
【26楼】 kl818bc
23楼说的T6963C模块是8080模式的模块,用GPIO或FSMC都可以
---------------------------------------------------------
人家是用GPIO模拟的
现在已经不是讨论FSMC本身是否能实现6800了,而是看如何转换能实现与6800的兼容更好些。
按26楼描述:“RD和WR用与非门(如HC00)产生 E 信号,R/W 则接到 A1 ,RS 接 A0”
我画个对照:
& & 8080& && && && && && && && &&&6800
& &&&RD& && &==》 硬件HC00 ==》& & E
& &&&WR& && &==》 硬件HC00
& &&&A1& && &==》& && && && && && &R/W
& &&&A0& && &==》& && && && && && &RS(其它LCD驱动,可能标为C/D)
& &&&数据& & ==》& && && && && && &数据
& &&&CS& && &==》& && && && && && &CS
==================================================
比ST的AN2790的2个参考电路要好的多,但软件上需要调整,而且多用掉一根地址线。
原来地址为2个:读写控制寄存器,A0 = 0;读写RAM A0 = 1
现在地址为4个:读控制寄存器 A1=1;A0=0
& && && && && &写控制寄存器 A1=0;A0=0
& && && && && &读RAM& && &&&A1=1;A0=1
& && && && && &写RAM& && &&&A1=0;A0=1& &&&
总算兼容6800了吧。
可是注意,这个只是lcd特例。如果是其它6800的器件。需要同一个地址进行读写操作,麻烦就更多了。
怪不得ST说,“连接LCD控制器”,兼容。前面这个定语条件有学问,而且在AN2790中的两个电路也太不“兼容”了。
好文章,顶一下先,接着会用到这个东西,不过就是带FSMC的芯片太贵了..
好文章啊 一定要mark
关注这个问题,置顶先,等待ST的确认。
关注一下,我当时还对100脚芯片能否FSMC兼容表示怀疑,反正同样的程序8080mode驱动TFT液晶在VET上能通过,但VBT上就过不了,怀疑是时序问题.(也就是地位地址总线复用的问题)
这个帖子好象没有必要置顶吧。那位老大做的,还是把它作为一般的帖子好。
33楼的,你手册没看仔细吧!
FSMC是101,103 C D E的才有,B 的本来就没有
刚买了坛里的STM3210B-LK1开发评估套件(带仿真),是否也一样?
楼主有点大惊小怪了,
1.&&6800和intel本身在电路上是不同的,此外时序上也不一致。硬件能够直接支持这两种接口,而且同时时序还要满足,我没碰到过。
2.&&一般比较多见的也就是LCD有6800这种接口,其他设备现在已经少了。Flash,Sram等等都是intel接口的。
结论是,对于这个问题,楼主有点过于紧张了,让我感觉楼主似乎在嵌入式方面实战比较少。这种小问题,一般搞过几年嵌入式的,都不会觉得是个特别问题。
另外,我教楼主一招,如果你喜欢看时序图的话,就不需要看那么多其他的了....
楼上的估计只看了这个帖子,没有看另外一个帖子(/bbs/bbs_content.jsp?bbs_sn=3546694&bbs_page_no=1&bbs_id=3020),所以感觉到楼主的“大惊小怪”。
楼主是搞教学的,带学生准备用这套板子。批量准备好以后发现这套板子有缺陷,然后拿出来讨论,同时提醒有这套开发板的网友,例如我。让网友不犯同样的错误。并让大家知其然并知其所以然,我不觉得有何不妥。
我感谢楼主的这种分享精神,也希望能够分享到楼上的一些经验。
/bbs/bbs_content.jsp?bbs_sn=3546694&bbs_page_no=1&bbs_id=3020
学习了,原来是这样,我也是STM新手呢。多谢指点。
不得了啦,隐隐约约觉得马老师要把STM32的BUG全部翻出来,对广大用户是福音,ST是自己搬石头砸脚趾啦.
你错了,我到现在没有发现STM32本身有任何的BUG。
我说的问题是:
1。ST公司对STM32性能的一个小的夸大(真正器件手册上并没有这样的功能,兼容6800)
2。两块学习板上的硬件设计错误(不是STM32本身的问题)
3。开发工具和环境还有不完善和不方便的地方。
指出这些问题,一方面是提醒学习者注意这些问题,少走弯路,浪费时间。另一方面也是提醒ST方面,让他们认真做事。
更深层的含义在于:要踏踏实实的学习和做事,抄个电路,拷贝一段代码,永远掌握不了真正的本事。
马老师的总结真到位。
1。ST公司对STM32性能的一个小的夸大(真正器件手册上并没有这样的功能,兼容6800)
2。两块学习板上的硬件设计错误(不是STM32本身的问题)
3。开发工具和环境还有不完善和不方便的地方。
收下了,要踏踏实实的学习和做事,谢谢马老师。
【41楼】 machao
“更深层的含义在于:要踏踏实实的学习和做事,抄个电路,拷贝一段代码,永远掌握不了真正的本事。 ” OK。
9楼——“改变FSMC的配置,允许Write burst enable!”——已经兼容6800了!!((一定是配置了某些寄存器))
个人觉得STM32最大的BUG在于FSMC的多主访问的BUG.
刚开始用STM32系列,学习了,大有收获。
多謝馬老師詳細解說。剛開始學STM32, 看老師的帖大有裨益。
回复【楼主位】machao
-----------------------------------------------------------------------
楼主这配置软件叫啥名呢,没见过
马老师,9楼那个图怎么搞出来的?
记下备用参考
板门弄斧!我也说一下这两大类总线接口.
& & 8080总线时序使用nWR和nRD两个信号;6800总线时序使用RW读写控制(1:MPU读, 0:MPU写)和nE允许两个信号。
& & 6800总线时序是同步总线;8080总线时序是异步总线。
8080总线时序:
(原文件名:intel8080.jpg)
6800总线时序:
moto 6800 (原文件名:moto6800.jpg)
6800总线CPU读写8080总线器件时,nRD=nE,nWR=RW+nE;
8080总线CPU读写6800总线器件时,nE=nRD*nWR,RW.clr=nRD,RW.preset=nWR;
我也碰到这个问题了。。。
直接做IO模拟好了
边看边学习
还没有接触STM32
还在学习AVR中
期待马老师以同样严谨风格继《AVR单片机嵌入式系统原理与应用实践》的后STM32新作
非常好的讨论!最近正在用!
谢谢马老师
马老师, 收我!
对的了解都是0,液晶驱动只用过lpc2478那种模式的……那个好像叫RGB接口的还是什么的,也搞不清楚,抓狂
经典,做个记号,以后用的着
看了一段时间了 手上有个6800的液晶 一直没认真处理
那天要好好驱动下
近日接触ST,先学习一下。因为刚搞定了一个基于液晶,而现在大部分12864液晶都是基于6800的,但我现在出现了一点小问题:基于8080的液晶显示出汉字后,就是只能出现几秒钟后屏上消失了,重启后再出来,几秒后又消失。是不是我的液晶信号线太长了?液晶是20针FPC排线(1MM间距)焊到了20针双排线上(2。54MM间距)然后再用杜邦线拉到单片机板上了。
楼上的可否一起讨论?
有用,谢谢
19楼怎么没人回复和评论一下呢?个人比较支持。而且如果lcd本身功能不多,只需简单写入命令和数据的话,估计直接将E脚接高,然后接入总线,感觉也是可以的。这样省一个I/O口或者一个反向器。
mark& && && && && &
我买的LCD是6800的,没有CS脚,接在总线上了,感觉不是很好操作
这是我见过的 分析的最为透彻的文章,谢谢
阿莫电子论坛, 原"中国电子开发网"

我要回帖

更多关于 stm32 fsmc 的文章

 

随机推荐