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


Browsing this Thread:   1 Anonymous Users






Re: 請問rs232的interrupt和寫入eeprom間有衝突?
#4
版主
版主


查看用戶資訊
這樣的程式沒人看的懂,建議你還是用ICD2 或 MPLAB SIM 去做 Debug , 看看 Watch Window 的中斷控制位元是否被輕微零了,不然你就每做完 EEPROM 寫入動作後重新中斷位元設定。

發表於: 2005/9/20 17:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問rs232的interrupt和寫入eeprom間有衝突?
#3
新會員
新會員


查看用戶資訊
謝謝您的回覆
我現在的問題是我不知道compile後的程式是否有把GIE設為1?
以下是我compile後得到的*.lst檔中的寫入eeprom的部分
可否請各位大大們幫我看一下唄
謝謝
.................... void ParaSave()
.................... {
....................
.................... UCHAR Wdata;
....................
.................... char EX_ROM_ADD=0;
*
064B: BSF 03.6
064C: CLRF 26
064D: MOVLW 53
064E: MOVWF 28
064F: MOVLW 61
0650: MOVWF 29
0651: MOVLW 76
0652: MOVWF 2A
0653: MOVLW 69
0654: MOVWF 2B
0655: MOVLW 6E
0656: MOVWF 2C
0657: MOVLW 67
0658: MOVWF 2D
0659: MOVLW 2E
065A: MOVWF 2E
065B: MOVLW 2E
065C: MOVWF 2F
065D: MOVLW 2E
065E: MOVWF 30
065F: CLRF 31
.................... char i,SaveStatus[]="Saving...";
....................
....................
.................... for(i=0;i<=ParaNo;i++)
0660: CLRF 27
0661: BCF 03.6
0662: BSF 03.6
0663: MOVF 27,W
0664: SUBLW 14
0665: BTFSC 03.0
0666: GOTO 669
0667: BCF 03.6
0668: GOTO 6A1
0669: BCF 03.6
.................... {
.................... EX_ROM_ADD=EX_ROM_ADD+(i);
066A: BSF 03.6
066B: MOVF 27,W
066C: ADDWF 26,F
.................... Wdata=Para[i];
066D: MOVLW 28
066E: ADDWF 27,W
066F: MOVWF 04
0670: BCF 03.7
0671: MOVF 00,W
0672: MOVWF 25
.................... write_EEPROM(EX_ROM_ADD+i,Wdata);
0673: MOVF 27,W
0674: ADDWF 26,W
0675: MOVWF 32
0676: MOVWF 0D
0677: CLRF 0F
0678: MOVF 25,W
0679: MOVWF 0C
067A: BSF 03.5
067B: BCF 0C.7
067C: BSF 0C.2
067D: BCF 03.5
067E: BCF 03.6
067F: MOVF 0B,W
0680: MOVWF 77
0681: BCF 0B.7
0682: MOVLW 55
0683: BSF 03.5
0684: BSF 03.6
0685: MOVWF 0D
0686: MOVLW AA
0687: MOVWF 0D
0688: BSF 0C.1
0689: BCF 03.5
068A: BCF 03.6
068B: BSF 03.5
068C: BSF 03.6
068D: BTFSS 0C.1
068E: GOTO 692
068F: BCF 03.5
0690: BCF 03.6
0691: GOTO 68B
0692: BCF 0C.2
0693: MOVF 77,W
0694: BCF 03.5
0695: BCF 03.6
0696: IORWF 0B,F
.................... delay_cycles(6);
0697: NOP
0698: NOP
0699: NOP
069A: NOP
069B: NOP
069C: NOP
....................
.................... }
069D: BSF 03.6
069E: INCF 27,F
069F: BCF 03.6
06A0: GOTO 662
06A1: RETLW 00
.................... }

發表於: 2005/9/20 13:18
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問rs232的interrupt和寫入eeprom間有衝突?
#2
版主
版主


查看用戶資訊
因為在寫 Internal EEPROM 時,程式會有一個寫入 EEPROM 的控制步驟,此時會將所有的中斷關掉,如果你完成 EEPROM 寫入動作沒有將 GIE 設為 1, 那中斷就被 Disable 了。詳細請看 PIC16F877 Data Sheet 有關 EEPROM 的說明。

發表於: 2005/9/15 17:24
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問rs232的interrupt和寫入eeprom間有衝突?
#1
新會員
新會員


查看用戶資訊
我是用16F877A的chip,用CCS的C寫的
用以下是我的rs232的isr
#int_rda
void serial_isr(){
   
char c;
   if((
c=getc())!='r' && len<21)
   {
      
string[len]=c;
      
len=len+1;
   }
   else
   {
      
len=0;
   }
}


若我在主程式中埶行eeprom的寫入指令後
void ParaSave
()
{

  
UCHAR Wdata;

  
char EX_ROM_ADD=32;
  
char i,j,SaveStatus[]="Saving...";

  
LCM_ClearDispaly();
  
LCM_Gotoxy(1,1);
  
LCM_Puts(SaveStatus);

  for(
i=0;i<=ParaNo;i++)
   {
     
EX_ROM_ADD=EX_ROM_ADD+(i);
     
Wdata=Para[i];
     
write_EEPROM(EX_ROM_ADD+i,Wdata);
     
delay_cycles);
   }
}


當埶行完eeprom的寫入後
結果rs232的isr就沒有作用了…
請問這是為什麼呢?
請各位大大們幫忙囉~ 謝謝

發表於: 2005/9/13 10:27
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view 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.

[進階搜尋]


:::

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... ]

教育訓練中心

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