• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
  • slider image 488
  • slider image 491
:::

論壇索引


Board index » All Posts (xsz1183)




Re: 想使pic16f18857 mcu進入sleep mod 但是看不太懂說明書,希望能幫忙給個範例及說明
#1
新會員
新會員


好的非常感謝您! 我正在實踐中。
好人一生平安,上廁所都有衛生紙!

發表於: 2023/1/5 13:15
頂部


Re: 想使pic16f18857 mcu進入sleep mod 但是看不太懂說明書,希望能幫忙給個範例及說明
#2
新會員
新會員


謝謝您幫我指出說明書的哪邊有解釋,也建議我用mcc建立mcu的程式碼,對我幫助非常大。
1.
我使用MPLAB X IDE裡面的MCC建置程式碼,發現沒有PIC.H

2.
此外我正在main裡面嘗試設定 CPUDOZE 該記憶體進行操作,若是操作無誤應該是會進入淺眠一段時間再自行清醒?

3.
看起來深度睡眠部分除了mclr腳位外,似乎不能使用其他PA0~PAx的gpio當外部喚醒腳位?

發表於: 2023/1/3 11:21
頂部


想使pic16f18857 mcu進入sleep mod 但是看不太懂說明書,希望能幫忙給個範例及說明
#3
新會員
新會員


感謝大家點進來想要幫忙,小弟我是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指令無法使用...
#4
新會員
新會員


非常感謝您,經過測試可以編譯了,真的是幫了大忙!

發表於: 2022/12/19 8:23
頂部


Re: 關於pic16f18857使用ideX的mcc合成出的eeprom指令無法使用...
#5
新會員
新會員


好的我會嘗試,非常感謝您的回覆

發表於: 2022/12/15 12:57
頂部


關於pic16f18857使用ideX的mcc合成出的eeprom指令無法使用...
#6
新會員
新會員


感謝大家點進來想要幫忙,小弟我是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
頂部






:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------