我想在Atmega328上进行一些中断驱动的信号处理,它可能没有足够的SRAM(2K)来存储整个运行的数据。这意味着我必须在仍然收集数据的同时将部分缓冲区写入外部存储器。
我的问题是,在仍然触发中断的同时进行串行写入或I2C通信(例如SD卡)是否安全。我认为串行通信本身是中断驱动的,所以这可能成为一个问题。这是真的? I2C怎么样?如果两者都可能导致问题,那么在收集数据的同时刷新缓冲区的建议方法是什么(如果有的话)?
答案 0 :(得分:1)
这是一种常见的情况,实际上取决于您对每项任务的准确处理时间以及您对设备通信的时序限制有多紧张。
认为你应该回顾/考虑: