本帖最后由 LcwSwust 于 2021-1-10 09:35 编辑
前不久买了一块GD32VF103CBT6的开发板,这种:
当时没注意单片机型号中有个V,通电一看,播放SD卡中的动画很流畅,
但似乎不能用KEIL开发,而不带V的可以用KEIL;
习惯了KEIL,所以买了GD32F103CBT6单片机换上,并将程序移植过去,
移植中就发现有时读第二个簇会出错,或者显示出的画面有杂点,
后来发现了BUG:
GD32VF103-RISC-V内核32位MCU资料和SDK\SDK\Longan_GD32VF_examples-master.zip
\Longan_GD32VF_examples-master\gd32v_lcd\src\fatfs\tf_card.c
rcvr_spi_multi里的do{...}while(btr--);循环导致实际读取比参数btr多一字节,将导致内存溢出.
将其改为do{...}while(--btr);
现将KEIL4下的程序发出来,有兴趣的看看.
程序功能:
需先在SD卡根目录中存放两个文件<**.bin> <bmp.bin>开机显示**.bin图像,
然后显示bmp.bin中的多张图像,相当于播放视频,帧率约10fps (93ms).
LCD像素:160*80,RGB565
GD32F103CBT6程序.rar
(4.82 MB)
放入SD卡根目录.rar
(2.9 MB)
近日还用VB写了个视频截图的程序,按一定帧率将视频画面截图转为RGB565数据并保存为BIN文件,
还有一点点没有完善,过几天再分享.
|