• 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 (shadow)




請問執行中斷前怎麼儲存各暫存器的值?
#21
高級會員
高級會員


請問各位一個問題,今天我們老師跟我說,執行中斷前要先儲存
各個暫存器的值用以在執行完中斷程式後能再繼續正常的運算
執行其它的運算,所要儲存的暫存器,我們老師跟我說,如:什麼 w register,state register....等的 register 的值!!
等執行完中斷程式後再取出這些值回復原本在中斷前的狀態來
繼續運算!!

請問需要嗎?
我在W401 的課程投影片中並沒有看到這部份,請問有必要儲存
暫存器的值嗎? (在執行中斷程式之前)
如果需要的話要儲存哪些的 register 的值呢?

發表於: 2008/7/30 16:36
頂部


陣列超過Bank RAM 的大小!
#22
高級會員
高級會員


我參考 W401 的第四,五兩章,宣告以下的兩個陣列:
#pragma udata abc = 0x100

int A[9][16];
int B[9][16];

#pragma udata

但有以下的錯誤訊息:
MPLINK 4.11, Linker
Copyright (c) 2007 Microchip Technology Inc.
Error - section 'abc' can not fit the absolute section. Section 'abc' start=0x00000100, length=0x00000240
Errors : 1

Link step failed.
BUILD FAILED: Fri Jul 18 14:56:37 2008


請問要怎麼修改,才能讓 compiler 接受超過一個 Bank 的大小並宣告陣列呢?

發表於: 2008/7/18 15:01
頂部


Re: 請問使用 CAN 的 Function 為何會 Reset?
#23
高級會員
高級會員


感謝版主的回覆幫忙!!
果然是 Watch Dog Timer 的問題!!
關掉就 OK 了!!

發表於: 2008/7/15 16:48
頂部


Re: 請問使用 CAN 的 Function 為何會 Reset?
#24
高級會員
高級會員


參照:

Ryang 寫道:
最有可能的是 Watch-Dog Timer 沒有關閉,可以在 Configuration Bits 直接關閉此功能。

還有只有一塊 CAN node 要怎樣玩? Message 傳送出去後沒有node 回 ACK,128 次後就會進到 Error Passive,錯誤超過 255 次就會進入 Bus Off Mode


我只有一塊APP023,但我有8塊APP023-1的PIM板,我有自己作
CAN 的介面,用於相互傳輸!!

只有一塊 CAN node 要怎樣玩? Message 傳送出去後沒有node 回 ACK,128 次後就會進到 Error Passive,錯誤超過 255 次就會進入 Bus Off Mode
<== 不過這也蠻奇怪的,照理說只有一塊 CAN node 在傳,應該在第255 次就會進入Bus Off Mode,但我卻是進入Reset,再重頭開始傳輸,這可真是奇怪事!!!

Watch-Dog Timer 嗎?
嗯.....我試試看!!!

發表於: 2008/7/15 15:23
頂部


Re: 請問使用 CAN 的 Function 為何會 Reset?
#25
高級會員
高級會員


參照:

Eigen 寫道:
程式開頭檢查一下是 wdt reset , power on reset , or mclr reset 就知道掛掉的原因。

我猜你應該只有一張板子吧?


請問要怎麼檢查?
我的程式中沒有設定到 Reset,
實驗板- APP023 x1 , APP023-1 x8

發表於: 2008/7/15 14:18
頂部


請問使用 CAN 的 Function 為何會 Reset?
#26
高級會員
高級會員


我用的是 APP023 + PIC 18F8680
CAN 的 Code 是CAN202 Workshop 的範例,如下:

CANInitialize( 2,10,6,6,3, CAN_CONFIG_LINE_FILTER_OFF & CAN_CONFIG_SAMPLE_ONCE &
CAN_CONFIG_VALID_STD_MSG &
CAN_CONFIG_PHSEG2_PRG_ON ) ;

CANSetOperationMode(CAN_OP_MODE_CONFIG) ;

CANSetMask(CAN_MASK_B1, RXB0_MASK, CAN_CONFIG_STD_MSG ) ;
CANSetMask(CAN_MASK_B2, RXB1_MASK, CAN_CONFIG_STD_MSG ) ;

CANSetFilter(CAN_FILTER_B1_F1, RX_Filter0 , CAN_CONFIG_STD_MSG) ;
CANSetFilter(CAN_FILTER_B1_F2, RX_Filter1 , CAN_CONFIG_STD_MSG) ;
CANSetFilter(CAN_FILTER_B2_F1,RX_Filter2 , CAN_CONFIG_STD_MSG) ;
CANSetFilter(CAN_FILTER_B2_F2,RX_Filter3 , CAN_CONFIG_STD_MSG) ;
CANSetFilter(CAN_FILTER_B2_F3,RX_Filter4 , CAN_CONFIG_STD_MSG) ;
CANSetFilter(CAN_FILTER_B2_F4, RX_Filter5 , CAN_CONFIG_STD_MSG) ;

CANSetOperationMode(CAN_OP_MODE_LOOP) ;

..................
一開始都很正常的傳送,但當傳送了幾百筆資料後就會讓
PIC 18F8680 Reset!!
請問為何會這樣呢!!

發表於: 2008/7/14 23:15
頂部


請問單晶片為何會自動 Reset ?
#27
高級會員
高級會員


目前使用的是APP023 開發板,上面的單晶片是 PIC 18F8680!
測試的是 CAN 的傳輸!

測試結果 ==> 傳輸及接收都正常

問題:
當APP023 傳送第250左右筆 CAN 訊息時, PIC 18F8680 會自動 Reset, Why?

==> 我好像查出來了....似乎是 Function 的問題.....
看來我無法相信 Function 了.....還是老老實實的設定暫存器吧!!!

發表於: 2008/6/7 0:10
頂部


Re: 請問這是什麼錯誤訊息?
#28
高級會員
高級會員


嗯嗯.....
原來是超過一個 BANK RAM 的大小!!

用 #pragma 指定其BANK的起始位址,並將陣列分開宣告。
==> 嗯......請問....該怎麼做?

發表於: 2008/6/2 16:52
頂部


請問這是什麼錯誤訊息?
#29
高級會員
高級會員


Error - section '.udata_main.o' can not fit the section. Section '.udata_main.o' length=0x000002c3
Errors : 1

我只是加了 int A[9][16], B[9][16];
兩個陣列的宣告而已!


// int A[9][16], B[9][16];
==> compiler 就過了

why?

發表於: 2008/5/31 16:52
頂部


請問 CAN 中的 Receive Buffer
#30
高級會員
高級會員


請問兩個問題:
1. 何種情況會用到 RXB1,只靠 RXB0 也有無法即時處理的情況發生嗎?
2. 為何 RXB0 跟 RXB1 的 Filter 個數不同,有何用義嗎?

發表於: 2008/5/4 10:16
頂部



« 1 2 (3) 4 5 6 ... 9 »



:::

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

教育訓練中心

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