查看: 1109|回复: 0
打印 上一主题 下一主题

将dspic的时钟配置单独放到一个头文件,编译警告

[复制链接]
跳转到指定楼层
沙发
发表于 2015-10-15 08:10:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本帖最后由 wirelessgo 于 2014-10-30 10:40 编辑


刚接触dspic 我现在遇到一个奇怪的问题。我想把时钟的配置放到一个头文件中conf_osc.h

conf_osc.h 的内容:

#ifndef CONF_OSC_H
#define CONF_OSC_H

#include <p33FJ32MC204.h>

// Configure Oscillator to operate the device at 40Mhz
// Fosc= Fin*M/(N1*N2), Fcy=Fosc/2
// Fosc= 7.37*43/(2*2)=79.23MHz
PLLFBD = 37;//M=30;
CLKDIVbits.PLLPOST = 0;     // N1=2
CLKDIVbits.PLLPRE = 0;      // N2=2
OSCTUNbits.TUN = 23; //pll to 8M

//OSCTUN=0;                                        // Tune FRC oscillator, if FRC is used ?????pmsm?????

RCONbits.SWDTEN=0;  // Disable Watch Dog Timer

                                                                // Clock switch to incorporate PLL
__builtin_write_OSCCONH(0x01);  // Initiate Clock Switch to FRC with PLL (NOSC=0b001)

__builtin_write_OSCCONL(0x01);                // Start clock switching

while(OSCCONbits.COSC != 0b001);  // Wait for Clock switch to occur

while(OSCCONbits.LOCK != 1){}; // Wait for PLL to lock

#endif


现在在 MPLAB X IDE 中的编辑窗口中提示:


编译时,有下面的提示信息:
In file included from ../../src/main.c:13:0:
../../src/inc/conf_osc.h:9:1: warning: data definition has no type or storage class
../../src/inc/conf_osc.h:9:1: warning: type defaults to 'int' in declaration of 'PLLFBD'
nbproject/Makefile-default.mk:83: recipe for target 'build/default/debug/_ext/1445274692/main.o' failed


用 source inlight 搜索 PLLFBD 得到的结果显示这个宏在p33FJ32MC204.h中

---- PLLFBD Matches (5 in 2 files) ----
p33FJ32MC204.h (e:\kp\soft\soft_git\dspic\si\xc16_v1.22_support_peripheral_dspic33f\h):#define PLLFBD PLLFBD
p33FJ32MC204.h (e:\kp\soft\soft_git\dspic\si\xc16_v1.22_support_peripheral_dspic33f\h):extern volatile unsigned int  PLLFBD __attribute__((__sfr__));
p33FJ32MC204.h (e:\kp\soft\soft_git\dspic\si\xc16_v1.22_support_peripheral_dspic33f\h):/* PLLFBD */
p33FJ32MC204.inc (e:\kp\soft\soft_git\dspic\si\xc16_v1.22_support_peripheral_dspic33f\inc):        .extern PLLFBD
p33FJ32MC204.inc (e:\kp\soft\soft_git\dspic\si\xc16_v1.22_support_peripheral_dspic33f\inc):;----- PLLFBD Bits -----------------------------------------------------


我用的是c编写代码,应该用不到p33FJ32MC204.inc 吧?
我的理解是.inc文件是给汇编程序用的 .h是给C用的

出现这种现象,是什么原因呢?
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表