今天调试了下如题的程序,将串口接收到的数据通过DMA方式搬移到内存缓冲区中
并且建立双缓冲区以避免数据覆盖丢失
在串口调试工具的测试下,1ms循环发送500字节的数据不会丢失
目前未测试的内容是将两个缓冲区的内容写入SD卡,可能存在的问题是在存储一个
缓冲区的内容时不能保证另一个缓冲区不会溢出。。。。。
程序可加入的内容是用定时器超时及时将缓冲区的内容存储到sd卡中,以防止外部
部数据传输中止导致DMA传输完成中断不触发
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你要存到哪里?
存到SD卡,用FATFS来做
我的方式:sdio+DMA,然后把相关的初始化和读写函数放到fatfs里面去,f_open f_write f_close
你也可以用原子的spi例程,fatfs他也做好了,直接把你要写的数据通过f_open f_write f_close写进去就可以
好的,谢谢,先学习着
一周热门 更多>