
STM32部分9 U# s- ~+ U |+ K( O/ d 1、首先通过cube配置stm32$ T8 _; k+ v! e' K2 n) ` b 原理图地址总线如下6 A# l! P0 A# F5 Y Q& k ![]() ![]() ![]() 原理图数据总线如下: ![]() ![]() 原理图其余部分 ![]() ![]() cube配置如下 ![]() ![]() 2、打开工程,在FSMC配置文件中加入这一段写FSMC。* d Y1 R( a* {4 |& |! W% p% a ![]() 3、主函数中加入这三句话,则实现了对FSMC的循环写 0 G6 k7 h1 }4 L+ I& b' t: y1 f& D6 Z, q ![]() FPGA部分 首先要知道FPGA模拟了一个SRAM。在FSMC_NWE下降沿代表有新数据写入了。我们接收的STM32数据应该首先存起来。之后再通过串口发送。! c6 y5 M9 _! D6 m5 W1 I$ Z * l( K, B$ W! S" h 在每个FSMC_NWE的下降沿存储一个16位的数据。 FPGA将从STM32接收到的数据通过串口发出如下) R- p/ ? T# C0 V0 `% q ![]() 7 o3 o) w. ]6 o! F/ ^! I 调试STM32读出FPGA数据。/ g" B$ _$ k2 N+ d/ | 9 k# M- ~9 d! z: P1 a7 A* Q 1、在应用过程中往往是FPGA作为接口采集了大量数据需要通过FSMC去传输到STM32的。基本思路是每当FPGA准备好数据时,我们通过一个IO口告诉STM32数据准备好了。8 j/ o" N; B! q 2、这个时候STM32开始进行FSMC读操作,函数是 DATA = *( vu16*)((u32)(0x68000000)+CC); //CC是从哪个地址开始读取数据: Q1 x3 I% e; [- t9 Q* J 3、FPGA程序就是根据地址来给出具体的数据,对数据总线操作。$ \9 ~: j5 @3 c ————————————————& |, I( A" t- l, @+ T F6 l# [7 X 版权声明:冬麻麻 / x# P7 B( R7 [+ F. a |
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南
ST 微控制器电磁兼容性 (EMC) 设计指南
适用于STM32微控制器的ΣΔ数字接口入门
请问这个FPGA的地址CC是怎么算的