Re: 想使pic16f18857 mcu進入sleep mod 但是看不太懂說明書,希望能幫忙給個範例及說明
|
||||
---|---|---|---|---|
新會員
|
好的非常感謝您! 我正在實踐中。
好人一生平安,上廁所都有衛生紙!
發表於: 2023/1/5 13:15
|
|||
|
想使pic16f18857 mcu進入sleep mod 但是看不太懂說明書,希望能幫忙給個範例及說明
|
||||
---|---|---|---|---|
新會員
|
感謝大家點進來想要幫忙,小弟我是microchip的新手,公司需要長期使用該PIC16f18857 mcu長期開發...
繼上次搞定eeprom後,已經能夠寫入eeprom存取馬達定位或時間,及讀取目前定位及時間,之後發現省電模式的使用方式有看沒有懂... 1.像通常深度睡眠會設定一個GPIO能夠喚醒mcu工作,其他沒用的GPIO則全部輸出且Low,但我在說明書找不太到怎麼使用這功能? 2.如何設定讓他進入SLEEP或DOZE? 3.因為本身都是用C語言去寫,說明書的組合語言也是有看沒有懂...,希望好心的大大能幫忙指出說明書的哪邊有寫到如何設定,及C語言如何下去實現?會希望指出跟範例,是因為希望未來能獨立看說明書也能設定。 4.感謝大家點進來 ps:我目前是剛接觸的菜鳥韌體助理工程師,但公司沒有其他韌體工程師...,所以只能一路摸索,問題可能很菜,但我真的很希望能好好成長!
發表於: 2022/12/29 14:26
|
|||
|
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
|
|||
|