- 论坛徽章:
- 0
|
1. ICD2暂时不能调试,改用ICD3;因硬件设置PGC3/PGC4 Pin42/Pin41,因此需添加配置位定义如下:
_FICD(ICS_PGD3 & JTAGEN_OFF); // Communication Channel: PGC1/EMUC1 and PGD1/EMUD1 // JTAG disabled
2. FOSC、FCY的相关内容:
配置为代码中定义如下:
_FOSCSEL(FNOSC_PRIPLL); _FOSC(FCKSM_CSECMD & OSCIOFNC_ON & POSCMD_HS); _FWDT(FWDTEN_OFF); // Watchdog Timer enabled/disabled by user software _FICD(ICS_PGD3 & JTAGEN_OFF); // Communication Channel: PGC1/EMUC1 and PGD1/EMUD1 // JTAG disabled
最开始加入代码如下配置PLL:
_PLLPRE = 0; //N1=2 _PLLDIV = 30; //M=32 //_DOZEN = 1; //FCY=FOSC/2 _PLLPOST = 0; //N2=2
while(OSCCONbits.LOCK!=1) {}; // Wait for PLL to lock _DISI = 1;
3. 测试延时函数: 注意包含头文件前定义FCY,如下: #define FCY 40000000UL
#include <p24Hxxxx.h> #include <libpic30.h>
__delya_ms(1000); //1000会导致溢出!建议1000ULL
软仿真时(DEBUG SIM): Simulator Settings: Osc/Trace Processor Frequency: 80Mhz 它实际上是定义的FOSC!
4.测试IO口性能!测试代码如下: while(1) { _LATA4=~_LATA4; }
测试结果: 最多只能产生1.17MHz的方波,看来IO非快速IO口!
|
|