會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





dsp33ch的p33CH512MP508.h file不能更改
新會員
註冊日期:
2017/05/21 11:52
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 6
離線
我要用dspic33ch的AD轉換,發現p33CH512MP508.h裡面有一些SFR並沒有定義,例如我在程式裡自己定義ADCORE0H資料結構,如下
#define ADCORE0H ADCORE0H
extern volatile uint16_t ADCORE0H __attribute__((__sfr__));
typedef struct tagADCORE0HBITS {
uint16_t ADCS:7;
uint16_t :1;
uint16_t RES:2;
uint16_t EISEL:3;
} ADCORE0HBITS;

extern volatile ADCORE0HBITS ADCORE0Hbits __attribute__((__sfr__));

/* ADCON1H */
#define _ADCS ADCORE0Hbits.ADCS
#define _RES ADCORE0Hbits.RES
#define _EISEL ADCORE0Hbits.EISEL

#define _ADCORE0H_ADCS_POSITION 0x00000000//BIT POSITION
#define _ADCORE0H_ADCS_MASK 0x0000007F//0111111
#define _ADCORE0H_ADCS_LENGTH 0x00000007//7 BIT

#define _ADCORE0H_RES_POSITION 0x00000008//7TH BIT
#define _ADCORE0H_RES_MASK 0x00000300//0011=8
#define _ADCORE0H_RES_LENGTH 0x00000002//2 BIT

#define _ADCORE0H_EISEL_POSITION 0x0000000A
#define _ADCORE0H_EISEL_MASK 0x00001C00//1 1100
#define _ADCORE0H_EISEL_LENGTH 0x00000003

但是 ADMOD0Lbits.DIFF0和ADMOD0Lbits.DIFF1在p33CH512MP508.h裡ADMOD0L沒有定義到,而我改好p33CH512MP508.h又存不了,請問我該如何克服這些問題?

另外,p33CH512MP508.inc裡也要一起改?

謝謝

5月07日 20:07:03
轉換PDF檔 列印


Re: dsp33ch的p33CH512MP508.h file不能更改
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15080
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5026 / 86330
離線
建議不要去修改 CH512MP508.h 的檔案,如有暫存器要加入建議自行建立一個 .h 檔。在程式裡 #include 該 h 檔即可。

5月08日 12:49:43
轉換PDF檔 列印


Re: dsp33ch的p33CH512MP508.h file不能更改
新會員
註冊日期:
2017/05/21 11:52
所屬群組:
註冊會員
文章: 2
等級: 1; EXP: 2
HP : 0 / 0
MP : 0 / 6
離線
您好

可是像原來
typedef struct tagADMOD0LBITS {
uint16_t SIGN0:1;
uint16_t :1;
uint16_t SIGN1:1;
uint16_t :1;
uint16_t SIGN2:1;
uint16_t :1;
uint16_t SIGN3:1;
uint16_t :1;
uint16_t SIGN4:1;
uint16_t :1;
uint16_t SIGN5:1;
uint16_t :1;
uint16_t SIGN6:1;
uint16_t :1;
uint16_t SIGN7:1;
} ADMOD0LBITS;

是沒有定義 uint16_t DIFF0:1; and uint16_t DIFF1:1;
那我要如何加這兩個定義?否則compilier會有redefine的問題!

typedef struct tagADMOD0LBITS {
uint16_t SIGN0:1;
uint16_t DIFF0:1;
uint16_t SIGN1:1;
uint16_t DIFF1:1;
uint16_t SIGN2:1;
uint16_t :1;
uint16_t SIGN3:1;
uint16_t :1;
uint16_t SIGN4:1;
uint16_t :1;
uint16_t SIGN5:1;
uint16_t :1;
uint16_t SIGN6:1;
uint16_t :1;
uint16_t SIGN7:1;
} ADMOD0LBITS;

thanks

5月14日 11:19:46
轉換PDF檔 列印


Re: dsp33ch的p33CH512MP508.h file不能更改
管理員
註冊日期:
2010/06/30 16:18
來自 CAE, Microchip Technology Inc.
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 1668
等級: 34; EXP: 45
HP : 0 / 836
MP : 556 / 24515
離線
CH 系列是 Dual Code 的系列, 有些暫存器不是兩邊都有的,
Master Code 請服用 p33CH512MP508.h
Slave Code 則使用 p33CH512MP508S1.h

DIFF0, DIFF1 在 Slave Code 才有.

附加檔案:



jpg  A01.jpg (240.92 KB)
7103_5ebe16e73d2b4.jpg 1452X767 px

5月15日 12:13:59
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project