我有一个闪烁的代码,问题是我是否正确配置了保险丝,因为当delay_ms为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);
}
}
发布于 2018-03-18 09:27:17
CCS编译器将根据您传递给#use delay()
的参数设置适当的振荡器熔丝。它还对#use delay()
的参数执行健全性检查,以验证它是否兼容。将您的#fuses
和#use delay()
更改为以下内容,让CCS C编译器为您正确执行此操作:
#fuses NOWDT, NOPROTECT, NOLVP, VREGEN
#use delay(clock=48MHz ,crystal=20MHz, USB_FULL)
我还在#use delay()
中设置了USB_FULL
参数,该参数还配置了#use delay()
的其他部分以实现全速USB操作(这似乎是您想要使用的)。
您会注意到,我从代码中删除了PLL5、HSPLL、CPUDIV2和USBDIV熔丝,因为这些熔丝将由#use delay()
设置
https://stackoverflow.com/questions/43005959
复制相似问题