stm32f0 大小端_stm32与PC机的大小端、比特序的一致性问题

记2020.10.28

今天心血来潮想把上学期末计划做的用STM32在LCD上播放Bad Apple,需要用到的东西包括:FatFs文件系统、LCD显示驱动,以及视频转二进制文件的工具。

FatFs及LCD驱动都是直接拿教程的源代码改的(毕竟我懒,and时间也有限......),视频转二进制的工具是我上学期末写的一个脚本(Github:https://github.com/Floral/MyGadgets),今天遇到的问题主要就是跟这个脚本及LCD显示的程序有关。

这个脚本目前只支持黑白视频的转换(毕竟是是根据Bad Apple来写的嘛),并且我在今天发现了一个问题,就是python的二进制写入文件模式是以字节为单位的,即假设一个bool数组只有一个True,我原本想的是写入后文件只含有一位二进制,而实际是这个bool被扩展为了一个字节,最终的结果就是0x01(想想也是,毕竟所有的汇编语言的读写最小单位都是byte,而不是bit)。所以该脚本目前的版本中生成的结果bin文件中也是按照一个像素对应一个字节的,在嵌入式程序中,显示控制程序也很简单,一个byte用来决定一个像素的值。这种方案的实验结果很成功,让我开心了一小会儿,可惜快乐总是短暂的。

由于这个视频只是一个黑白视频,所以一个像素所需要的位数并不要一个字节,一位就够了,可以节省大量空间。于是强迫症的我一下午的时间就花在了怎么按位写入。查阅资料后得到的结论是,并不能按位写入,只能通过转换的手段,一组一组地把八位转换为一个byte再写入。

改好脚本后,本以为大功告成,上板子一实验,问题大了,画面纵向割裂,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值