會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





PIC16F15323 PPS疑問?
資深會員
註冊日期:
2004/08/16 13:52
來自 台灣台南
所屬群組:
註冊會員
文章: 778
等級: 25; EXP: 16
HP : 0 / 604
MP : 259 / 27061
離線
使用MCC產生的檔案並沒有做PPS LOCK的設定,是在其它地方? 還是我看漏了什麼地方?? 我有看LST檔也沒看到設定.

或是在什麼情況下才需要使用PPS LOCK ??

void PIN_MANAGER_Initialize(void)
{
/**
LATx registers
*/
LATA = 0x00;
LATC = 0x00;

/**
TRISx registers
*/
TRISA = 0x37;
TRISC = 0x09;

/**
ANSELx registers
*/
ANSELC = 0x09;
ANSELA = 0x13;

/**
WPUx registers
*/
WPUA = 0x00;
WPUC = 0x00;

/**
ODx registers
*/
ODCONA = 0x00;
ODCONC = 0x00;

/**
SLRCONx registers
*/
SLRCONA = 0x37;
SLRCONC = 0x3F;

/**
INLVLx registers
*/
INLVLA = 0x3F;
INLVLC = 0x3F;








RC1PPS = 0x0C; //RC1->PWM4:PWM4OUT;
RC4PPS = 0x0A; //RC4->CCP2:CCP2;
RC2PPS = 0x0B; //RC2->PWM3:PWM3OUT;
RC5PPS = 0x09; //RC5->CCP1:CCP1;
}


以下是在文字中看到的程式片段
EXAMPLE 15-1: PPS LOCK/UNLOCK
SEQUENCE
; suspend interrupts
BCF INTCON,GIE
; BANKSEL PPSLOCK ; set bank
; required sequence, next 5 instructions
MOVLW 0x55
MOVWF PPSLOCK
MOVLW 0xAA
MOVWF PPSLOCK
; Set PPSLOCKED bit to disable writes or
; Clear PPSLOCKED bit to enable writes
BSF PPSLOCK,PPSLOCKED
; restore interrupts
BSF INTCON,GIE

附加檔案:


zip PPS.X.zip 大小: 488.49 KB; 下載次數: 37

7月16日 22:38:01
轉換PDF檔 列印


Re: PIC16F15323 PPS疑問?
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14874
等級: 73; EXP: 63
HP : 1089 / 1815
MP : 4958 / 82924
離線

bool state
= GIE;
    
GIE = 0;

    
PPSLOCK = 0x55;
    
PPSLOCK = 0xAA;
    
PPSLOCKbits.PPSLOCKED = 0x00; // unlock PPS

    
SMT1SIGPPS = 0x04;   //RA4->SMT1:SMT1SIG;
    
SMT1WINPPS = 0x17;   //RC7->SMT1:SMT1WIN;

    
PPSLOCK = 0x55;
    
PPSLOCK = 0xAA;
    
PPSLOCKbits.PPSLOCKED = 0x01; // lock PPS

    
GIE = state;


我剛看下 CIP102 的教材,使用 PIC16F1619 的元件,在 "pin_manager.c" 的函式裡是先 Enable PPS 的 Unlock 功能後在設定 PPS 的腳位功能,在後在 Lock PPS 的設定。

PIC16F15323 的 PPS 設定,我開一下專案確定一下這 PSS Lock 功能。

PPS Unlock & PSS Lock 功能,一般是設定過後計處於 Lock 的狀態下。但有些腳位的設計是有多種週邊腳位的共用,這時就需要修做 Unlock 後才能變更原先的 PPS 設定。你也可以不用 Luck PSS 功能,隨時都可以更動 I/O 腳的設定。

7月17日 11:48:15
轉換PDF檔 列印


Re: PIC16F15323 PPS疑問?
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14874
等級: 73; EXP: 63
HP : 1089 / 1815
MP : 4958 / 82924
離線
剛建了 PIC16F15355 的專案,並使用 PPS 的設定。檢查 "pin_manager.c" 裡的程式有看到 PPS 的設定但卻找不有關 PPS Unlock/lock 的函式。
看了 DATA Sheet 的 PPS 章節室友 PPS 鎖定功能的,如底下組語所示:


; suspend interrupts
BCF INTCON
,GIE
; BANKSEL PPSLOCK ; set bank
; required sequence, next 5 instructions
MOVLW 0x55
MOVWF PPSLOCK
MOVLW 0xAA
MOVWF PPSLOCK
; Set PPSLOCKED bit to disable writes or
;
Clear PPSLOCKED bit to enable writes
BSF PPSLOCK
,PPSLOCKED
; restore interrupts
BSF INTCON
,GIE


找了 PIC16F16xx 及 PIC16F18xxx 的專案,在 pin_manager.c 裡都有 PSS Unlock/Lock 的設定。

所以這應是 MCC 對 PIC16F15xxx 的遺漏。如果要加鎖 PPS 的話,請在 main.c 裡做完 "SYSTEM_Initialize();"後加以上鎖。

注意在上鎖與解鎖的 0x55 & 0xAA 寫入動作時一定要先關閉中斷,待完成後才能啟勇中斷,如上面組語所示。

7月17日 12:08:05
轉換PDF檔 列印


Re: PIC16F15323 PPS疑問?
資深會員
註冊日期:
2004/08/16 13:52
來自 台灣台南
所屬群組:
註冊會員
文章: 778
等級: 25; EXP: 16
HP : 0 / 604
MP : 259 / 27061
離線
明白了,謝謝。

7月18日 22:45:16
轉換PDF檔 列印






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

[進階搜尋]


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