會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)



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


無法在microchip討論區PO文
高級會員
註冊日期:
2014/09/29 12:04
所屬群組:
註冊會員
文章: 72
等級: 7; EXP: 40
HP : 0 / 160
MP : 24 / 1594
離線
嗨,各位好
我在microchip網站要發文的時候,打字框一直出不來,導致無法發文,有人知道是什麼原因嗎?

情況如附件所示

附加檔案:



jpg  why.JPG (63.82 KB)
45509_5a7bdc4cc6971.jpg 1509X901 px

2月08日 13:12:44
轉換PDF檔 列印


Re: PIC48F47K40 指標取值問題
新會員
註冊日期:
2009/12/18 23:53
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 281
離線
找到問題了 真的是此系列IC 的BUG 勘誤表中提到

3. Module: PIC18 Core
3.1 TBLRD requires NVMREG value to point to
appropriate memory
The affected silicon revisions of the PIC18FXXK40
devices improperly require the NVMREG<1:0>
bits in the NVMCON register to be set for TBLRD
access of the various memory regions. The issue
is most apparent in compiled C programs when the
user defines a const type and the compiler uses
TBLRD instructions to retrieve the data from program
Flash memory (PFM). The issue is also
apparent when the user defines an array in RAM
for which the complier creates start-up code, executed
before main(), that uses TBLRD instructions
to initialize RAM from PFM.
Work around
Assembly code:
Set the NVMREG<1:0> bits to select the
appropriate memory region before executing
TBLRD instructions.
C code:
Create an assembly file named powerup.as and
include this file with the other files in the project.
This file will change the NVMREG<1:0> bits to
point to program Flash before any code is
executed.
Contents of the power-up.as file:

#include <xc.inc>
GLOBAL powerup, start
PSECT powerup, class=CODE, delta=1,
reloc=2
powerup:
BSF NVMCON1, 7
GOTO start
end

If there is a need to change the NVMREG<1:0>
value to anything other than ‘10’ and the Interrupt
Service Routine uses constants or literal strings,
then interrupts must be disabled before the
change and restored to ‘10’ before interrupts are
enabled.


加上power-up.as 檔案 解決

累人的東西 不知道下次還會遇到設麼BUG
為甚麼明知有這問題 也不改善 這就是MICROCHIP

2月08日 10:26:22
轉換PDF檔 列印


Re: PIC48F47K40 指標取值問題
新會員
註冊日期:
2009/12/18 23:53
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 281
離線
你好感謝你的回覆 但用模擬的 我這也沒問題 要實際上IC測試DEBUG 才有問題 你有IC嗎可以幫我試看看嗎?

2月08日 10:07:14
轉換PDF檔 列印


Re: PIC48F47K40 指標取值問題
資深會員
註冊日期:
2012/05/04 19:18
所屬群組:
註冊會員
文章: 196
等級: 13; EXP: 4
HP : 0 / 301
MP : 65 / 5111
離線
試了一下,沒有發生你所說的問題喔!

附加檔案:



jpg  1.jpg (337.85 KB)
9227_5a7b99ae6d645.jpg 1920X1032 px

2月08日 08:28:56
轉換PDF檔 列印


Re: PIC48F47K40 指標取值問題
新會員
註冊日期:
2009/12/18 23:53
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 2 / 281
離線
http://www.microchip.com.tw/modules/n ... ewtopic.php?post_id=73182
我發現有人的問題跟我一模一樣 這是此系列ic的bug嗎

有人手邊有18f k40系列ic可以幫我測試看看嗎?

2月07日 23:22:37
轉換PDF檔 列印


Re: PIC18F4520 ADC問題
新會員
註冊日期:
2月06日 19:34:11
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 1 / 1
離線
引用:

linwangco 寫道:
一開始只跑這段程式碼,
ConvertADC(); // Start an A/D Conversion
while(BusyADC()); // Wait for Conversion Finished
adc0_dec=ReadADC(); // Read A/D Result
Nop(); //斷點停在這
用watch看adc0_dec
你可以試著把AN0只接5V
看adc0_dec轉換的值是不是1023
然後把AN0接地
看adc0_dec轉換的值是不是0

如果不是,ADC有錯。
拿電表直接量MCU AN0的PIN,說不定你灌5V進去的位子錯誤電壓被分掉了。
若是正常,換其他的AN1 or AN2 在去轉換看看
*******************************************************
如果以上都是正確

你可以故意把adc0_dec=ReadADC();這行改成
adc0_dec=0x3FF;

看你LCM的顯示是否為1023,
若不是,你計算與顯示有錯誤,請自行修改。
*******************************************************
若以上都正確,那就是你輸入5V方波那邊來源有問題。

我就想到這些簡易的除錯方法,請參考。


剛剛確認之後確定是電壓被分掉了,腳位換過AN0、AN1、AN2,結果都一樣,adc0_dec的數值都不正確,想再請問要怎麼解決電壓被分掉的問題呢?

2月07日 17:53:35
轉換PDF檔 列印


Re: [請教]PIC32MX230F064D的Bootloader
中級會員
註冊日期:
2010/10/19 13:16
所屬群組:
註冊會員
文章: 42
等級: 5; EXP: 27
HP : 0 / 106
MP : 14 / 2296
離線
請教各位大大,我把bootloader燒進去後,我用uart第一次可以把我的程式燒錄,但接下來的幾次,燒錄程式也會顥示Programming completed,但所的程式,但都是跑第一次燒進去的程式.
感覺第二次開始用uart燒錄,好像都蓋不到第一次的程式?

2月07日 15:58:08
轉換PDF檔 列印


Re: PIC18F4520 ADC問題
資深會員
註冊日期:
2010/07/12 16:45
來自 台灣的某一個角落
所屬群組:
註冊會員
文章: 255
等級: 14; EXP: 93
HP : 0 / 348
MP : 85 / 7760
離線
一開始只跑這段程式碼,
ConvertADC(); // Start an A/D Conversion
while(BusyADC()); // Wait for Conversion Finished
adc0_dec=ReadADC(); // Read A/D Result
Nop(); //斷點停在這
用watch看adc0_dec
你可以試著把AN0只接5V
看adc0_dec轉換的值是不是1023
然後把AN0接地
看adc0_dec轉換的值是不是0

如果不是,ADC有錯。
拿電表直接量MCU AN0的PIN,說不定你灌5V進去的位子錯誤電壓被分掉了。
若是正常,換其他的AN1 or AN2 在去轉換看看
*******************************************************
如果以上都是正確

你可以故意把adc0_dec=ReadADC();這行改成
adc0_dec=0x3FF;

看你LCM的顯示是否為1023,
若不是,你計算與顯示有錯誤,請自行修改。
*******************************************************
若以上都正確,那就是你輸入5V方波那邊來源有問題。

我就想到這些簡易的除錯方法,請參考。

2月07日 15:54:00
轉換PDF檔 列印


Re: PIC18F4520 ADC問題
新會員
註冊日期:
2月06日 19:34:11
所屬群組:
註冊會員
文章: 6
等級: 1; EXP: 47
HP : 0 / 11
MP : 1 / 1
離線
剛剛嘗試改為ADC_RIGHT_JUST及上述的設定範例

adc0_dec的轉換結果變成了0和1

另外想到忘記說明使用的開發版為APP025

2月07日 13:42:58
轉換PDF檔 列印


Re: PIC18F4520 ADC問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14224
等級: 72; EXP: 62
HP : 1074 / 1790
MP : 4741 / 72317
離線
ADC 轉換參數:

ADC_LEFT_JUST & // ADRESH:ADRESL from roght

請改用 ADC_RIGHT_JUST 向右調整


底下是 W401 Lab 3-1 做 ADC 的設定範例:

//************************************************
//* PIC18F4520 在 ADC Peripheral Library 的歸類  *
//* 為 V5 , 在使用 OpenADC() 時要參考              *
//* Function: InitializeAD                       *
//*        - Fosc/32 clock source                *
//*        - Left justified                      *
//*        - 1 analog channels, 0 references     *
//*        - Channel 0                           *
//*        - Disable A/D interrupt               *
//************************************************
void InitializeAD(void)
{
    
OpenADC(  ADC_FOSC_32
            
& ADC_LEFT_JUST
            
& ADC_4_TAD,
              
ADC_CH0
            
& ADC_INT_OFF
            
& ADC_REF_VDD_VSS,
              
ADC_1ANA);
}

2月07日 13:22:06
轉換PDF檔 列印



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




搜尋
Microchip連結

網頁捷徑
2018 Winter Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project