|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
求救,使用picc8.05,整數(shù)比較,偶然出錯(cuò)的問(wèn)題 |
| 作者:serch 欄目:單片機(jī) |
求救,使用picc8.05,整數(shù)比較,偶然出錯(cuò)的問(wèn)題 我使用picc,由于芯片空間小,使用9級(jí)優(yōu)化。在e2prom地址為data1,data2中,存方固定數(shù),在中斷中脈沖計(jì)數(shù),并存放到e2prom地址data3,data4中,每次進(jìn)入脈沖中斷后,首先計(jì)數(shù)加一并存放到data3,data4中,并和存放到data1,data2中的預(yù)存數(shù)相比較,如果相等,則執(zhí)行工作a,否則退出并顯示,現(xiàn)在遇到一個(gè)問(wèn)題,大部分情況下,當(dāng)條件成立時(shí),可以執(zhí)行工作a,但是極少數(shù)情況,當(dāng)計(jì)數(shù)到了,卻沒(méi)有執(zhí)行工作a,請(qǐng)問(wèn)這樣比較有沒(méi)有問(wèn)題,是否是程序優(yōu)化的問(wèn)題? union { struct {uchar a; uchar b; }onechar; uint c; }bcd; temp1=EE_READ(data1); temp2=EE_READ(data2); bcd1.onechar.a=temp1; bcd1.onechar.b=temp2; temp1=EE_READ(data3); temp2=EE_READ(data4); bcd1.onechar.a=temp1; bcd2.onechar.b=temp2; if(bcd1.c==bcd2.c) {工作a;} |
| 2樓: | >>參與討論 |
| 作者: zgl7903 于 2007/4/20 21:00:00 發(fā)布:
個(gè)人見(jiàn)解 內(nèi)部EEPROM寫(xiě)時(shí)是要關(guān)中斷的,如果寫(xiě)得數(shù)據(jù)比較多,可能引起中斷丟失的,因此建議你常用的變量不要放在EEPROM中,或者是用把需要存在EEPROM中的數(shù)據(jù)組合在一起,在不怕關(guān)中斷的時(shí)候統(tǒng)一寫(xiě)入。另外EEPROM的寫(xiě)入壽命也是需要考慮的 |
|
| 3樓: | >>參與討論 |
| 作者: yewuyi 于 2007/4/21 8:45:00 發(fā)布:
請(qǐng)仔細(xì)檢查自己的程序 100%是你程序的問(wèn)題; 建議從以下幾個(gè)方面考慮問(wèn)題: 1:數(shù)據(jù)格式的定義 2:數(shù)據(jù)計(jì)算的溢出是否有影響 3:EE讀寫(xiě)時(shí)的中斷問(wèn)題 4:中斷中變量定義的問(wèn)題。 |
|
| 4樓: | >>參與討論 |
| 作者: 蘭天白云 于 2007/4/22 13:35:00 發(fā)布:
非要放到E2PROM中比較嗎? 在RAM中比較可省不少精力 |
|
| 5樓: | >>參與討論 |
| 作者: serch 于 2007/4/23 10:31:00 發(fā)布:
當(dāng)我改為判斷等于 之所以將數(shù)據(jù)放到EEPROM主要是考慮抗干擾,我想還是從EEPROM中取數(shù)比較可靠。 我想知道如果程序是這樣不是判斷兩個(gè)整形變量大于等于,程序是如果執(zhí)行呢? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |