:::


Browsing this Thread:   1 Anonymous Users




« 1 (2)


Re: PIC18F66K22-I/PT 奇怪現象
#11
資深會員
資深會員


查看用戶資訊
測試了很多方法都失敗, I2C1 都有問題, 後來啟動I2C2 相同設定可以工作, 確定是 MCC 的問題, 才發現無意中更新的 MCC 3.26和 MPLAB X 3.55 不相容.

後來有更新MPLABX 4.0,4.05 , 最後還是放棄 新版.

還是用 MPLAB x3.55 , MCC 降回 3.15.

只能說 ........ 各位在用 MCC 請注意版本相容性問題 !

發表於: 2017/11/21 19:16
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F66K22-I/PT 奇怪現象
#12
版主
版主


查看用戶資訊
這新版本更新一直都是又愛又恨,相容性就是個問題。都然我們都會建議使用最新的版本以獲得最新元件的支援。但有時也會出現新、舊版本檔案不相容的問題。

照理說 66K22 的 I2C 是與 45K22 是相容的 (我沒有詳細去比對所產生的 MCC I2C 函數),但要降到使用 MCC v3.15 這就不知其差異性了。

MPLAB IDE v4.0 我個人不建議使用,因為在 Curiosity Board 的韌體更新惠祐問題,建議使用 MPLAB X IDE v4.10 的版本。

發表於: 2017/11/22 11:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F66K22-I/PT 奇怪現象
#13
資深會員
資深會員


查看用戶資訊
不要以為新的比較好或比較穩定?

以下這段內含程式, 我用16F1947,用 XC8 1.21(pro) OK,
程式已經用到 ROM 99.7%, 所以才換 MCU移植程式.

18F66K22 用 XC8 1.21 complier OK,
18F66k22 用 XC8 1.41,1.44 會出現 fail

所以我還是只能說....... xc8 也要檢查一下版本 .

-----------------------------------------------------------------------------------

switch (Heater_Sio2_Mode){
case 1:
Power_On_Mode();
break;
//
case 2: // Mode 2 = Normal
Normal_Mode();
break;

case 3:
Load_Cell_Fail_Mode();
break;
//
case 4: //Load_Cell_Fail_Mode();
Unheating_Mode();
break;
//
case 5: // Fix time On.
Fix_Time_Mode();
break;
//
case 6: // Stop operation
Stop_Mode();
break;
//
default:
Load_Cell_Fail_Mode();
break;
}

----------------------------------------------------------------------------------------

main_Test.c:4515: warning: (520) function "_Write_To_Eprom" is never called
mcc_generated_files/memory.c:83: warning: (1498) pointer (FLASH_WriteByte@flashRdBufPtr) in expression may have no targets
mcc_generated_files/memory.c:87: warning: (1498) pointer (FLASH_WriteByte@flashRdBufPtr) in expression may have no targets
main_Test.c:678: warning: (759) expression generates no code

:0: error: (500) undefined symbols:

_Write_b_eep(dist/default/production\FE-SDB2_Test.X.production.obj) _Busy_eep(dist/default/production\FE-SDB2_Test.X.production.obj)

make[2]: *** [dist/default/production/FE-SDB2_Test.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
(908) exit status = 1

發表於: 2017/11/24 18:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F66K22-I/PT 奇怪現象
#14
資深會員
資深會員


查看用戶資訊
沒想到災難還沒結束 !


EEPROM 可以讀資料, 卻無法寫入, 寫了一個測試程式 自 0x0000~0xffff 寫入再讀出

發現 只有是 xx00~ xx07 的資料寫入有效, 其它都有問題 !

示波器上看到是 :

24C512 的 Addr. 0x50 (0xA0),
Hi byte Addr SDA 可正常產生 0x00~0xff,
Lo byte Addr SDA 只產生 0x00~0x07 之後, bit 7,6,5,4,3 都是0,
寫入Data 0x5A

所以只有 少數是正常, LCM 顯示的銲是波器的結果是一致的.

發表於: 2017/11/30 13:20
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F66K22-I/PT 奇怪現象
#15
資深會員
資深會員


查看用戶資訊
結果代理商幫我找到問題解決了! ( 自己造成的災難 !)

void Write_EEPROM_Data( unsigned int EE_Addr, char Data)
{
I2C1_MESSAGE_STATUS i2cStatus;

I2C_WriteBuffer[0]= EE_Addr >> 8;
I2C_WriteBuffer[1]= EE_Addr & 0xff; // 這裡寫成 EE_Addr % 8 , 當然就只有 0 ~ 7 的位址有寫入.
I2C_WriteBuffer[2]= Data;
I2C1_MasterWrite(I2C_WriteBuffer, 3, EEPROM_Addr, &i2cStatus);

}

發表於: 2017/11/30 16:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC18F66K22-I/PT 奇怪現象
#16
資深會員
資深會員


查看用戶資訊
別忘了...

程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

發表於: 2017/11/30 19:20
程式是
依照寫出來(的code),跑出結果
不是依照你想出來的,得到結果

先有需求規格 後有解決方案
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]