[应用相关] 完成一个并行接收和在以太网中传输

[复制链接]
zhanglli 发表于 2020-2-15 13:59 | 显示全部楼层
直接用cube生成现成的代码 用fsmc模块
bqyj 发表于 2020-2-15 14:02 | 显示全部楼层
fsmc就是16位的
 楼主| llljh 发表于 2020-2-15 14:04 | 显示全部楼层

明白了,多谢大家讨论这么多哈
TomasLi 发表于 2020-2-15 14:56 | 显示全部楼层
首先,你需要确认一下你所使用的STM32到底有没有FSMC/FMC 这个硬件外设,在STM32 64PIN以及更小封装的芯片中是不含有FSMC、FMC的。
其次,无论你所使用的STM32有没有这个硬件外设,你都需要很清楚W5300的并行接口时序,因为只要你了解了它的时序,那么就是可以N多种方式来实现(包含硬件的FMC、FSMC或者软件模拟)。
最后,提供一些互联网上的例子供你参考,不一定每一个都是有作用的,但是只要花两天的时间把这个功能实现了,以后你就会茅塞顿开。
1.W5300英文数据手册: W5300.pdf (1.66 MB, 下载次数: 7) 建议还是看看英文版本的
2.一个16bit访问的驱动程序. W5300_Drv_V1.2.4.zip (33.03 KB, 下载次数: 4)
举个简单的API函数的源代码
uint16   getMR(void)
{
   return *((vint16*)MR);
}

注意:W5300是big-endian大端访问,STM32的内存都是按照little-endian小端访问的。
TomasLi 发表于 2020-2-15 14:57 | 显示全部楼层
首先,你需要确认一下你所使用的STM32到底有没有FSMC/FMC 这个硬件外设,在STM32 64PIN以及更小封装的芯片中是不含有FSMC、FMC的。
其次,无论你所使用的STM32有没有这个硬件外设,你都需要很清楚W5300的并行接口时序,因为只要你了解了它的时序,那么就是可以N多种方式来实现(包含硬件的FMC、FSMC或者软件模拟)。
最后,提供一些互联网上的例子供你参考,不一定每一个都是有作用的,但是只要花两天的时间把这个功能实现了,以后你就会茅塞顿开。
1.W5300英文数据手册: 建议还是看看英文版本的
2.一个16bit访问的驱动程序.
举个简单的API函数的源代码
uint16   getMR(void)
{
   return *((vint16*)MR);
}

注意:W5300是big-endian大端访问,STM32的内存都是按照little-endian小端访问的。
八层楼 发表于 2020-3-5 10:25 | 显示全部楼层
如果你能联网 那一切都不是问题
观海 发表于 2020-3-5 10:46 | 显示全部楼层
为什么要并行呢
晓伍 发表于 2020-3-5 11:18 | 显示全部楼层
有专用的fsmc模块
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部