51单片机都有数据线地址线,为什么stm32没有呢?

2019-08-22 14:26发布

51单片机都有数据线和地址线,可以连接数个芯片进行内存或寄存器读写,而stm32为什么没有数据线地址线,只能复用fsmc,最多仅支持4个,感觉很不理解啊,那岂不是在通过数据线和地址线与像FPGA、SRAM这样的芯片连接时,stm32用起来还不如51单片机。求指教。。。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
stm32wwxf
1楼-- · 2019-08-22 14:43
几十个IO口还不够你用的么?
好少年
2楼-- · 2019-08-22 15:56
 精彩回答 2  元偷偷看……
stm32wwxf
3楼-- · 2019-08-22 17:31
好少年 发表于 2017-4-10 15:40
可是都是普通的io啊,如果做数据线地址线不是还需要模拟总线,感觉好麻烦,不太会

对啊,要用IO口模拟时序控制。FSMC方便的就是你只配置好,其他的它自行运行。这个数据总线那些就是固定的
JUSTNIUB
4楼-- · 2019-08-22 23:01
AHB BUS,APB BUS
好少年
5楼-- · 2019-08-22 23:27
stm32wwxf 发表于 2017-4-10 15:43
对啊,要用IO口模拟时序控制。FSMC方便的就是你只配置好,其他的它自行运行。这个数据总线那些就是固定的

我就是觉得还需要模拟时序,51单片机就不需要啊,直接就可以读写,主要是我不是太了解模拟时序,例如我要是想从一个地址空间读出一个数据,我要先选择地址线,再选择数据线,中间还要有读写使能信号什么的,感觉很麻烦,不太懂,为什么fsmc的片选不能用普通io呢,感觉用起来好别扭。
好少年
6楼-- · 2019-08-23 02:57
stm32wwxf 发表于 2017-4-10 15:43
对啊,要用IO口模拟时序控制。FSMC方便的就是你只配置好,其他的它自行运行。这个数据总线那些就是固定的

                {
                        for (i=0; i<buf_size; i++)
                        {
                                CS_FPGA = 0;
                                _nop_();_nop_();_nop_();_nop_();_nop_();
                                _nop_();_nop_();_nop_();_nop_();_nop_();
                                *(addr + i) = buf;
                                _nop_();_nop_();_nop_();_nop_();_nop_();
                                *(addr + i) = buf;
                                _nop_();_nop_();_nop_();_nop_();_nop_();
                                CS_FPGA = 1;
                        }
                        break;
                }
我就是想通过类似这样的方式读写外部空间。。。。。

一周热门 更多>