Crystal reports Pic 18f4550,20MHz晶体在48MHz闪烁led下工作

Crystal reports Pic 18f4550,20MHz晶体在48MHz闪烁led下工作,crystal-reports,fuse,led,blink,Crystal Reports,Fuse,Led,Blink,我有一个使LED闪烁的代码,问题是我是否正确配置保险丝,因为当延迟时间为1000时,LED闪烁47秒,关闭47秒。我正在使用CCS C编译器5.059。 谢谢你的建议 #include <18F4550.h> #include<stdlib.h> #include<math.h> #fuses PLL5,HSPLL,CPUDIV2,USBDIV,NOWDT,NOPROTECT,NOLVP, VREGEN #use delay(clock=48000000,c

我有一个使LED闪烁的代码,问题是我是否正确配置保险丝,因为当延迟时间为1000时,LED闪烁47秒,关闭47秒。我正在使用CCS C编译器5.059。 谢谢你的建议

#include <18F4550.h> 
#include<stdlib.h>
#include<math.h>
#fuses PLL5,HSPLL,CPUDIV2,USBDIV,NOWDT,NOPROTECT,NOLVP, VREGEN
#use delay(clock=48000000,crystal=20MHz) 
//========================== 
void main() 
{ 
  while(TRUE) 
  { 
   output_high(PIN_D0); 
   delay_ms(1000); 
   output_low(PIN_D0); 
   delay_ms(1000); 
  } 
}
#包括
#包括
#包括
#保险丝PLL5、HSPLL、CPUDIV2、USBDIV、NOWDT、NOPROTECT、NOLVP、VREGEN
#使用延迟(时钟=48000000,晶体=20MHz)
//========================== 
void main()
{ 
while(TRUE)
{ 
输出高(引脚D0);
延迟μms(1000);
输出低(引脚D0);
延迟μms(1000);
} 
}

CCS C编译器将根据传递给
的参数设置适当的振荡器保险丝#使用delay()
。它还对参数执行健全性检查,以使用delay()验证其是否兼容。将您的
#保险丝
#使用delay()
更改为此,以便让CCS C编译器为您正确执行此操作:

#fuses NOWDT, NOPROTECT, NOLVP, VREGEN
#use delay(clock=48MHz ,crystal=20MHz, USB_FULL)
我还将
USB_FULL
参数添加到
#use delay()
,该参数还将PLL的其他部分配置为全速USB操作(这似乎是您想要使用的)

您会注意到我从代码中删除了PLL5、HSPLL、CPUDIV2和USBDIV保险丝,因为这些保险丝将由
#use delay()设置