
STM32部分 1、首先通过cube配置stm327 ^0 r5 C4 m1 z ( B' \+ K' X- Q) G0 d* q9 s1 d! J 原理图地址总线如下 ' H6 c# R- ~% k+ J, S5 _ x ![]() / \- ?) \: w8 v0 G ![]() ![]() 原理图数据总线如下:3 y; U9 E! s0 K8 H' o ![]() ![]() , j3 w" e3 s/ w; `) [1 g0 l5 M" j 原理图其余部分 / t3 |- }7 I, ^ ![]() / I, ~6 w/ {/ D4 a ![]() - O+ d& a! \1 Z" _! g% X- _ cube配置如下/ J U' A) l. \6 |/ c 7 J) k ~5 y+ X( s/ E7 ^. J ![]() ( U2 N; t0 w/ N9 N: ] ![]() 2、打开工程,在FSMC配置文件中加入这一段写FSMC。1 {9 J& A" M0 M/ F* z& }# U 6 ]9 }1 r+ O! W/ J% r4 [ ![]() 3、主函数中加入这三句话,则实现了对FSMC的循环写6 G( o+ c0 N" _; ~, Z7 N; n & O1 J1 q4 P8 x9 U) e ![]() 6 y+ [& q- F. q0 r2 [4 o FPGA部分! F, ^& w: u7 X R8 b* Y 7 `3 n- C. u2 H3 @, A8 M 首先要知道FPGA模拟了一个SRAM。在FSMC_NWE下降沿代表有新数据写入了。我们接收的STM32数据应该首先存起来。之后再通过串口发送。 在每个FSMC_NWE的下降沿存储一个16位的数据。 FPGA将从STM32接收到的数据通过串口发出如下, v [4 O) c1 i 9 O4 V# g: _( ^ ![]() & B) j) a' m5 \) v1 ^! b 调试STM32读出FPGA数据。 1、在应用过程中往往是FPGA作为接口采集了大量数据需要通过FSMC去传输到STM32的。基本思路是每当FPGA准备好数据时,我们通过一个IO口告诉STM32数据准备好了。 2、这个时候STM32开始进行FSMC读操作,函数是 " H2 `$ B- d N" m+ d8 I G0 F " r+ h& P* _+ a5 q0 f& X DATA = *( vu16*)((u32)(0x68000000)+CC); //CC是从哪个地址开始读取数据 3、FPGA程序就是根据地址来给出具体的数据,对数据总线操作。1 m4 B( n$ k) [: [, E' l3 a( M ———————————————— 版权声明:冬麻麻 |
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是怎么算的