yewuyi 发表于 2013-4-18 10:27 
for(i=0;i> 8) & 0x3f; //数据高位寄存器
PMDATL = dat & 0xff; ...
感谢叶工的回复
关键是read的时候也没有变化,PMADRH、PMADRL地址寄存器一直是初始状态,我看了下手册上的例程,会不会跟bank的选择有关系
-------------------例程---------------------------
例3-1: 读闪存程序存储器
BANKSEL PM_ADR ; Change STATUS bits RP1:0 to select bank with PMADRL
MOVLW MS_PROG_PM_ADDR ;
MOVWF PMADRH ; MS Byte of Program Address to read
MOVLW LS_PROG_PM_ADDR ;
MOVWF PMADRL ; LS Byte of Program Address to read
BANKSEL PMCON1 ; Bank to containing PMCON1
BSF PMCON1, RD ; PM Read
NOP ; First instruction after BSF PMCON1,RD executes normally
NOP ; Any instructions here are ignored as program
; memory is read in second cycle after BSF PMCON1,RD
;
BANKSEL PMDATL ; Bank to containing PMADRL
MOVF PMDATL, W ; W = LS Byte of Program PMDATL
MOVF PMDATH, W ; W = MS Byte of Program PMDATL
|