找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3737|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

已解決)對(duì)指針比較了解的朋友幫我看看這個(gè)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:84495 發(fā)表于 2016-3-10 19:51 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 absflash 于 2016-3-11 19:58 編輯

已解決,隔壁壇壇友解決的,正確做法是調(diào)用時(shí)去掉*
改成if(cmpmemory(bufrxd1,buf,len)) 就好了
*buf                存放的是串口傳輸進(jìn)來的數(shù)據(jù),
*bufrxd1         存放上一次串口傳輸?shù)臄?shù)據(jù),用于比較是否與本次數(shù)據(jù)相同

bit cmpmemory(unsigned char *ptrl1,unsigned char *ptrl2,unsigned char len)
{while(len--)
{if(*ptrl1++!=*ptrl2++)
     {return 1;}                //bijiao比較兩指針數(shù)據(jù)不同返回1
}
return 0;                        //相同返回1
}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
void uartaction (unsigned char *buf ,unsigned char len)
{
unsigned char i=0;
for(i;i<len;i++)
{
if(cmpmemory(*bufrxd1,*buf,len))   //bi比較兩次數(shù)據(jù)是否相同,
{
        *bufrxd1=*buf;      //不相同放進(jìn)*bufrxd1備用

        CLSLcd();                //清屏
for(i;i<len;i++)
{        PutChar(2,i*6,buf);  //將新數(shù)據(jù)顯示在12864上

}
}
}   、、//兩次傳輸數(shù)據(jù)相同不做處理,主要是不清屏,清屏太頻繁導(dǎo)致屏幕閃爍



現(xiàn)在問題是一調(diào)用cmpmemory(*bufrxd1,*buf,len))就出錯(cuò),提示
123.C(143): error C214: illegal pointer conversion              非法指針轉(zhuǎn)換
我曾吧*bufrxd1換成數(shù)組,也是這個(gè)提示,想不通了,
這里要如何傳遞數(shù)據(jù)才可進(jìn)行比較,不一定要用指針,只要能比較不同就行
高人給看一下,要如何修改


源程序在另一臺(tái)破電腦上,破電腦上不了網(wǎng),需要的話一會(huì)可以傳上來

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:69862 發(fā)表于 2016-3-11 09:38 | 只看該作者
把要比較的兩個(gè)數(shù)據(jù)分別放在數(shù)組里面,這樣不是好比較了嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:84495 發(fā)表于 2016-3-11 09:57 | 只看該作者
xiao_yp2014 發(fā)表于 2016-3-11 09:38
把要比較的兩個(gè)數(shù)據(jù)分別放在數(shù)組里面,這樣不是好比較了嗎?

忙暈了,我再試試,謝謝
回復(fù)

使用道具 舉報(bào)

地板
ID:107120 發(fā)表于 2016-3-11 10:20 | 只看該作者
本帖最后由 zhangfan3765 于 2016-3-11 12:04 編輯

if(*ptrl1++!=*ptrl2++)這個(gè)判斷語句有問題吧,=是賦值,==是判斷兩個(gè)分別括起來。
回復(fù)

使用道具 舉報(bào)

5#
ID:84495 發(fā)表于 2016-3-11 20:03 | 只看該作者
zhangfan3765 發(fā)表于 2016-3-11 10:20
if(*ptrl1++!=*ptrl2++)這個(gè)判斷語句有問題吧,=是賦值,==是判斷兩個(gè)分別括起來。

!=和==是同級(jí)別的,朋友,去掉*既可以了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表