Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134540
  • 博文数量: 34
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-14 03:26
文章分类

全部博文(34)

文章存档

2011年(6)

2010年(2)

2009年(4)

2008年(22)

我的朋友

分类: 嵌入式

2011-03-18 15:09:31

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
#include

__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口!






   
   

阅读(1761) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~