請問C語言中如何加入組語??
|
||||
---|---|---|---|---|
初級會員
|
請問各位前輩們,C語言中如何加入組語??小弟用的編譯器Hi-tech,晶片用16f883,我只知道可以用asm("nop"),這樣的用法!!如果說是要再C中加入一段組語,請問要如何用??謝謝
發表於: 2008/9/22 21:06
|
|||
|
Re: 為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
感謝板大,我看到了那檔案了!!我先試試看!!~感謝阪大!!
Thx a lot
發表於: 2008/9/22 11:20
|
|||
|
Re: 為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
感謝板大,但我解壓縮後資料下沒看到EEDATA for 877_C.mcp 這各副檔名的檔,有.MCS與.MAP這副檔名,就是沒看到.MCP這副檔名,確定是這副檔名沒錯吧??..
thx
發表於: 2008/9/22 10:43
|
|||
|
Re: 為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
感謝阪大的意見,小弟有用refresh更新或用Reeds device EEPROM來看是否有寫入,但不論怎麼用,都是停在FF,真是快昏了,弄了那麼久都寫不進去!!
請問板大,再寫EEPROM初始值要設定什麼嗎?我懷疑是否我沒有設定好初始值!! 謝謝!!
發表於: 2008/9/22 8:51
|
|||
|
Re: 為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
感謝jlian大的指點,小弟還是式不出來,所以用Debug模式下,給EEPROM值,然後讀取!!讀取是沒問題,但還是寫不進去!!請問我是不是還需要設定什麼初始值嗎??
再次謝謝jlian大的指點!!對於我這種接觸PIC不久的人而言,真的收穫不少!!謝謝!! char DATA_EE_ADDR=0x40; char DATA_EE_DATA=0x41; //---------------------- write EEPROM ---------------------// void writeeeprom(void) { EEADR=0; EEDAT=0; EEADR=DATA_EE_ADDR; EEDAT=DATA_EE_DATA; //EEPGD=0; //WREN=1; EECON1=0b00001100; GIE=0; while(GIE==1){INTCON=0b00000000;} EECON2=0x55; EECON2=0xAA; WR=1; while(WR); GIE=1; WREN=0; }//void writeeeprom //---------------------------- Read EEPROM -------------------// void readeeprom(void) { readEE=0; EEADR=0x11; //強制給值 EECON1=0b00000001; //EEPGD=0; //RD=1; readEE=EEDAT; } void main(void) { INTCON=0b11001000; readeeprom(); writeeeprom(); }
發表於: 2008/9/19 19:13
|
|||
|
Re: 為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
感謝jlian大,小弟把程式修改如下,但似乎還是不動,請問大大該怎麼解??還是寫不進去,真是讓人心急!!
char DATA_EE_ADDR=0x20; char DATA_EE_DATA=0x45; // void writeeeprom(void) { EEIF=0; EEADR=0; EEDAT=0; EEADR=DATA_EE_ADDR; EEDAT=DATA_EE_DATA; EEPGD=0; WREN=1; GIE=0; EECON2=0x55; EECON2=0xAA; WR=1; GIE=1; asm("nop"); asm("nop"); while(!EEIF); { } EEIF=0; WREN=0; } void interrupt isr_Sevr ( void ) { writeeeprom(); }
發表於: 2008/9/19 11:19
|
|||
|
Re: 為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
感謝jlian大,不過小弟手邊沒有18F,所以還是要用16F來做!!不過真的感謝回覆!!
順便一問,我從view>EEPROM視窗中,看到都是FF,都燒不進去,實在是太奇怪了!!
發表於: 2008/9/19 9:50
|
|||
|
為什麼EEPROM寫不進去??
|
||||
---|---|---|---|---|
初級會員
|
各位前輩好,小弟剛接觸單晶片沒多久,問題真是一大堆!!希望前輩指導,如果問的問題很低階,還請多包含!!
請問前輩們,小弟使用16F883,我照著datasheet上的範例,為什麼還是寫不進去??是我有遺漏什麼嗎??還是需要設定什麼我沒設定??還請大家多指導,謝謝!! int DATA_EE_ADDR=0x20; int DATA_EE_DATA=0x41; //---------------------------------------- EEADR=DATA_EE_ADDR;//Data Memory Address to write EEDAT=DATA_EE_DATA; //Data Memory Value to write EEPGD=0; // EECON1 Program/Data EEPROM Select bit WREN=1; // EECON1 EEPROM Write Enable bit GIE=0; // disable INT EECON2=0x55; EECON2=0xAA; WR=1; // EECON1 Write Control bit GIE=1; // Enable INT asm("nop"); // Assembly no operation asm("nop"); // Assembly no operation WREN=0;
發表於: 2008/9/18 21:23
|
|||
|
Re: 請問怎麼寫FLASH與看是否寫入?
|
||||
---|---|---|---|---|
初級會員
|
請問板大,如果說要看EEPROM是否有寫入,是否從MPLAB SIN模式下看VIEW裡面的EEPROM視窗??
如果全都是FF表示沒寫入是嗎?? 謝謝
發表於: 2008/9/18 17:20
|
|||
|