標題:
關于C語言緩沖區(qū)的這段程序如何理解呢?
[打印本頁]
作者:
Luckyhorse009
時間:
2022-11-22 22:58
標題:
關于C語言緩沖區(qū)的這段程序如何理解呢?
void main()
{
unsigned char i;
unsigned char index=0;//移動索引
unsigned char pdata bufmove1[16+sizeof(str1)+16];//移動顯示緩沖區(qū)1
unsigned char pdata bufmove2[16+sizeof(str2)+16];//移動顯示緩沖區(qū)2
EA=1;//開總中斷
Configtime0(10);//配置T0定時10ms
InitLCD1602();//初始化液晶
/*緩沖區(qū)開頭一段填充為空格*/
for(i=0;i<16,i++)
{
bufmove1[i]='';
bufmove2[i]='';
}
/*待顯示字符串復制到緩沖區(qū)中間位置*/
for(i=0;i<(sizeof(str1)-1);i++)
{
bufmove1[16+i]=str1[i];
bufmove2[16+i]=str2[i];
}
/*緩沖區(qū)結尾一段也填充為空格*/
for(i=(16+sizdof(str1)-1;)i<sizeof(bufomve1);i++)
{
bufmove1[i]='';
bufmove2[i]='';
}
復制代碼
作者:
devcang
時間:
2022-11-23 10:09
文中的文字,已經講得夠清楚
作者:
munuc_w
時間:
2022-11-23 16:18
就是開辟一塊內存區(qū)域,用于暫存需要顯示的數(shù)據(jù)或顯示數(shù)據(jù)的字模。
作者:
啤酒瓶子老大
時間:
2022-11-23 18:42
這個大概是用了做字幕滾動用的。比如1602.要先顯示空的字符,屏是沒有顯示的,然后把文字從左到右(或者從右到左)顯示過去,后面也要填充空的字符,這樣看上去就像是文字走過去了。屏其實也顯示了。只是顯示的是空字符。我們看不見而已。
作者:
lomo9527
時間:
2022-11-23 18:58
我覺著程序注釋的已經很清楚了,直接調試一下,看效果就明白了
作者:
xyfhdzw
時間:
2022-11-23 19:47
緩沖一般是為了避免不確定值
作者:
名字不是重點
時間:
2022-11-24 10:49
啤酒瓶子老大 發(fā)表于 2022-11-23 18:42
這個大概是用了做字幕滾動用的。比如1602.要先顯示空的字符,屏是沒有顯示的,然后把文字從左到右(或者從 ...
正解!
空白緩存區(qū),目的就是為了滾屏。
一前一后2個緩存區(qū),就是為能方便前后滾,別無他用。
如只有一前或一后,只設一個緩存區(qū),可能在滾屏完之后顯存內容也沒了。
作者:
1261867136qq
時間:
2022-11-25 09:18
for(i=0;i<16,i++) //前面16個位,放空格
{
bufmove1
='';
bufmove2
='';
}
/*待顯示字符串復制到緩沖區(qū)中間位置*/
for(i=0;i<(sizeof(str1)-1);i++) //第17個位開始,放字符串
{
bufmove1[16+i]=str1
;
bufmove2[16+i]=str2
;
}
/*緩沖區(qū)結尾一段也填充為空格*/
for(i=(16+sizdof(str1)-1;)i<sizeof(bufomve1);i++) /字符長度尾部也放空格
{
bufmove1
='';
bufmove2
='';
}
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1