没啥好学习的吧,简单聊一下思路。首先不管它是图像还是其它什么文件,一律都当作数据流处理就好,自己定义个协议加上简单的校验,把文件分成若干个数据包传输,包中包含有包号便于单片机定位等运算,每个包建议传输2^n次方个数据,结合通讯缓冲区和FLASH扇区大小确定,收一个包存一个包同时串口返回成功信息。还有个技巧就是包号使用倒序,文件头部第一个数据包使用大数字的包号,最后一个包包号为零,这样一是双方都很容易判断文件传输结束,二是收到第一个包时单片机就能知道文件大小,如果空间不足可以立刻报错,不会傻等几分钟后才发现空间不足。
最后,串口传图像数据平时测试玩玩可以,量产完全没有可行性,量产建议用通用编程器直接烧写外置FLASH芯片,速度会快很多。当然单片机要有个FLASH编程状态,就是把FLASH芯片所有引脚处于高阻态免得跟烧写器打架。 |