硬汉嵌入式论坛

 找回密码
 立即注册
查看: 211|回复: 7
收起左侧

FSMC时序问题

[复制链接]
回帖奖励 18 个金币 回复本帖可获得 6 个金币奖励! 每人限 2 次(中奖概率 40%)

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2024-4-30 20:07:23 | 显示全部楼层 |阅读模式
我在在使用memcpy复制内容从内部RAM到外部SRAM时,发现了这样一个问题

首先先初始化好两块内存 在外部SRAM中并指向他

然后我们在主函数中 把一些内容复制到SRAM中并打印

发现没有问题

我在上面这个运行完了之后,我这边启动了一个定时器,在定时器中断的回调函数中也进行了复制操作

复制结果后打印 发现也没有问题

但是我还在串口的空闲中断里 使用了这个函数发现就有问题


这里的copy_source并不是串口接收到的内容 就是一块平平无奇的地方 我只是设置了一定次数后触发
就有问题了这是为啥呢??
而且很神奇的是 没过8个数据刚还丢失一个8?(1F变成17)
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-4-30 20:20:44 | 显示全部楼层
这里面最离谱的是如果我换成内部的SRAM就一点问题都没有 就是在串口空闲中断就不会触发什么丢失1的BUG了
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-4-30 21:05:47 | 显示全部楼层
运行结果如图
1.jpg
2.png
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-4-30 21:06:36 | 显示全部楼层
核心代码如图
3.png
4.jpg
5.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107220
QQ
发表于 2024-5-1 08:45:19 | 显示全部楼层
最关键的一个地方,你的这个FSMC上仅有一个RAM外设吗。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-5-1 10:06:57 | 显示全部楼层
对我就初始化了一个SRAM没有别的了
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-5-1 18:50:59 | 显示全部楼层
eric2013 发表于 2024-5-1 08:45
最关键的一个地方,你的这个FSMC上仅有一个RAM外设吗。

是的只有一个外部SRAM外设
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107220
QQ
发表于 2024-5-3 15:03:05 | 显示全部楼层
LightingSky 发表于 2024-5-1 18:50
是的只有一个外部SRAM外设

只有一个FMC外设的话,按说随意中断和中断外使用。但前提是不存在操作同一个地址空间。

你在中断外操作外部SRAM的话,强制加个开关中断试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-22 06:11 , Processed in 0.747135 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表