Re: 關於pic16f18857使用ideX的mcc合成出的eeprom指令無法使用...
|
||||
---|---|---|---|---|
新會員
|
非常感謝您,經過測試可以編譯了,真的是幫了大忙!
發表於: 2022/12/19 8:23
|
|||
|
Re: 關於pic16f18857使用ideX的mcc合成出的eeprom指令無法使用...
|
||||
---|---|---|---|---|
新會員
|
好的我會嘗試,非常感謝您的回覆
發表於: 2022/12/15 12:57
|
|||
|
關於pic16f18857使用ideX的mcc合成出的eeprom指令無法使用...
|
||||
---|---|---|---|---|
新會員
|
感謝大家點進來想要幫忙,小弟我是microchip的新手,公司需要長期使用該pic16f18857 mcu長期開發...
目前 接收端需要使用eeprom,來儲存發射的ID,跟目前的馬達角度... 但是我發現EEPROM不管怎麼使用都會報錯... 以下是我的程式內容 main裡面內容{ uint16_t dataeeAddr = 0xF010; uint8_t dataeeData = 0x55; DATAEE_WriteByte(dataeeAddr, dataeeData); //------------------------------------------------------------------------------------- uint16_t dataeeAddr = 0xF010; uint8_t readData; readData = DATAEE_ReadByte(dataeeAddr); } mcc合成的eeprom程式如下 void DATAEE_WriteByte(uint16_t bAdd, uint8_t bData) { uint8_t GIEBitValue = INTCONbits.GIE; NVMADRH = ((bAdd >> 8) & 0xFF); NVMADRL = (bAdd & 0xFF); NVMDATL = bData; NVMCON1bits.NVMREGS = 1; NVMCON1bits.WREN = 1; INTCONbits.GIE = 0; // Disable interrupts NVMCON2 = 0x55; NVMCON2 = 0xAA; NVMCON1bits.WR = 1; // Wait for write to complete while (NVMCON1bits.WR) { } NVMCON1bits.WREN = 0; INTCONbits.GIE = GIEBitValue; // restore interrupt enable } uint8_t DATAEE_ReadByte(uint16_t bAdd) { NVMADRH = ((bAdd >> 8) & 0xFF); NVMADRL = (bAdd & 0xFF); NVMCON1bits.NVMREGS = 1; NVMCON1bits.RD = 1; NOP(); // NOPs may be required for latency at high frequencies NOP(); return (NVMDATL); } 完全照著mcc的範例搬上去結果無法使用,請問該怎麼修改呢?
發表於: 2022/12/2 17:10
|
|||
|