主题中讨论的其他器件:MSP430F5438A、 MSP430F5438、 MSP430F5529、 MSP430F6659、
正如数据表所指定的那样、MSP430的总信息段擦除时间介于23ms~32ms 之间、并且在段擦除操作期间、MCU 被保持直到擦除周期完成。 这意味着在23~32ms 内、MCU 无法执行任何其他操作、这对于我们的应用是不可接受的。 那么、我想知道是否有任何方法可以将段擦除过程拆分成几个小部分? 然后、MCU 可在两个相邻器件的间隔时间内用于其他应用。
提前非常感谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
正如数据表所指定的那样、MSP430的总信息段擦除时间介于23ms~32ms 之间、并且在段擦除操作期间、MCU 被保持直到擦除周期完成。 这意味着在23~32ms 内、MCU 无法执行任何其他操作、这对于我们的应用是不可接受的。 那么、我想知道是否有任何方法可以将段擦除过程拆分成几个小部分? 然后、MCU 可在两个相邻器件的间隔时间内用于其他应用。
提前非常感谢!
您好!
感谢您的回复。
我知道每个段为128字节、我的问题是: 据我所知、擦除一个将保持 MCU 23ms-32ms 的段需要5000个周期、我想知道如何将23ms~32ms 拆分为23~32 μ s 的1ms 时间、并且 MCU 可以在每个1ms 之间的间隔内执行一些其他任务? 由于我的产品使用应用不能连续地将 MCU 间隔23~32ms、因此我的产品需要及时响应一些中断并每10ms 执行一次轮询、时间小于23~32ms。
[引用 USER="user4943691]*根据我的理解、当需要执行擦除操作时、需要将段擦除操作从闪存复制到 RAM、 然后、其他代码、例如中断、 可在闪存中与 RAM 中的段擦除操作同步进行。[/QUESP]MSP430x5xx和 MSP430x6xx 系列用户指南(修订版 Q) 在 第7.3.3节"写入或擦除期间的闪存访问"中具有以下内容:
[引用]在任何闪存操作期间自动禁用中断。[/引用]在 MSP430x5xx 和 MSP430x6xx 器件示例上、在闪存读取/写入期间执行中断的先前实验发现:
[引用]结论是、当闪存擦除代码或闪存编程代码也在 RAM 中运行时、MSP430F5438允许为基于 RAM 的中断提供服务、但 MSP430F5438A、MSP430F5529或 MSP430F6659器件不提供服务。测试程序附加在参考帖子上、 如果您想尝试使其在 MSP430F5418A 上运行、