|

楼主 |
发表于 2022-1-26 17:25:12
|
显示全部楼层
我详细说下,如果有时间请帮忙看看。
我在玩一个VFD屏,已经根据坛友分享的数据正常点亮了屏幕,现在开始做几个底层函数的调试,下面是一个写(显示)8位数据的函数,已经调试成功了,代码如下:
- void Write_8bit(uint x,uchar y,uchar dat)
- {
- y=y*8;
- VFD_CS=0;
- SPI_WriteByte(0xF0);
- SPI_WriteByte(x);
- SPI_WriteByte(y_offset+y);
- SPI_WriteByte(y_offset+y+8); //数据长度8bit
- SPI_WriteByte(dat);
- VFD_CS=1;
-
- }
复制代码
这个函数中的x为0-255,y为0-6;接下来就是编写调试清屏函数:
- void VFD_Clear(uchar color)
- {
- uchar i,j;
- //uint i;
- for (i = 0; i < 256; i++)
- {
- for (j = 0; j < 7; j++)
- {
- Write_8bit(i,j,color);
- }
- }
- }
复制代码
到了这里就出现问题了,如果i是uchar就正常的全屏显示了,如果i是uint则只在屏幕右侧边缘显示一条竖线,弄了好久没弄懂才来提问的,请帮忙指点一下。
|
|