Hallo Rolf,
ich bekomm mit dem Update plötzlich eine Fehlermeldung, die es vorher mit identischem Code nicht gab:
ERROR: fuse BODLEVEL1 not found (in this fuse block)
Device = mega328p, VCC=3.3;
Define_Fuses
Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [CKSEL0, CKSEL2, CKSEL3, SUT0];
FuseBits1 = [BODLEVEL1];
ProgMode = SPI;
ProgFuses = true;
ProgLock = false;
ProgFlash = true;
ProgEEprom = false;
Ich hab außerdem immer noch das Problem, daß irgendwelche Fehler in ganz anderen Zeilen angezeigt werden. Was kann man da tun ? Ich mach mal ein kleines Beispielprogramm und schicks dir.
Gruss
Harry
PS:
Also folgender Code
Program Hebbe_60xLED;
{$NOSHADOW}
{ $WG} {global Warnings off}
Device = Tiny25, VCC=5;
Import SoftPWM;
From System Import ;
Define
ProcClock = 8000000; {Hertz}
//SysTick = 10; {msec}
StackSize = $0030, iData;
FrameSize = $0030, iData;
//ADCchans = [4], iData;
//ADCpresc = 128;
SoftPWMport = PortB; { use PortC for PWM output }
SoftPWMtimer = Timer0, 5; { use timerx, PWM cycle time msec }
SoftPWMres = 100; { PWM resolution is 127 points }
SoftPWMchans = 1, 3; { 6 channels, bity is the first bit }
Implementation
{$IDATA}
{------------------------------------------------------------------------------}
{ Type Declarations }
Type
{------------------------------------------------------------------------------}
{ Const Declarations }
{------------------------------------------------------------------------------}
{ Var Declarations }
Var
ADC : Integer;
{$IDATA}
{------------------------------------------------------------------------------}
{ functions }
Procedure InitPorts; { Ports initialisieren }
Begin
DDRB:= %00001000;
ADMUX:= %00000010;
MDelay(5);
ADCSRA:=%10100000;
MDelay(5);
ADCSRB:=%00000110;
MDelay(5);
End InitPorts;
Procedure Main;
Begin
ADCSRA:=%11100000;
ADC:=(Integer(ADCH and $03)*256)+Integer(ADCL);
If ADC>22
then
SoftPWM1:=Lo((ADC-23) div 10);
else
SoftPWM1:=0;
EndSchnarch;
End Main;
{------------------------------------------------------------------------------}
{ Main Program }
{$IDATA}
Begin
EnableInts;
InitPorts;
Loop
Main;
Endloop;
End Hebbe_60xLED.
erzeugt folgende Fehler: siehe Bild. Es ist einzig das EndIf in Zeile 61 falsch.
ich bekomm mit dem Update plötzlich eine Fehlermeldung, die es vorher mit identischem Code nicht gab:
ERROR: fuse BODLEVEL1 not found (in this fuse block)
Code
Device = mega328p, VCC=3.3;
Define_Fuses
Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [CKSEL0, CKSEL2, CKSEL3, SUT0];
FuseBits1 = [BODLEVEL1];
ProgMode = SPI;
ProgFuses = true;
ProgLock = false;
ProgFlash = true;
ProgEEprom = false;
Ich hab außerdem immer noch das Problem, daß irgendwelche Fehler in ganz anderen Zeilen angezeigt werden. Was kann man da tun ? Ich mach mal ein kleines Beispielprogramm und schicks dir.
Gruss
Harry
PS:
Also folgender Code
Code
Program Hebbe_60xLED;
{$NOSHADOW}
{ $WG} {global Warnings off}
Device = Tiny25, VCC=5;
Import SoftPWM;
From System Import ;
Define
ProcClock = 8000000; {Hertz}
//SysTick = 10; {msec}
StackSize = $0030, iData;
FrameSize = $0030, iData;
//ADCchans = [4], iData;
//ADCpresc = 128;
SoftPWMport = PortB; { use PortC for PWM output }
SoftPWMtimer = Timer0, 5; { use timerx, PWM cycle time msec }
SoftPWMres = 100; { PWM resolution is 127 points }
SoftPWMchans = 1, 3; { 6 channels, bity is the first bit }
Implementation
{$IDATA}
{------------------------------------------------------------------------------}
{ Type Declarations }
Type
{------------------------------------------------------------------------------}
{ Const Declarations }
{------------------------------------------------------------------------------}
{ Var Declarations }
Var
ADC : Integer;
{$IDATA}
{------------------------------------------------------------------------------}
{ functions }
Procedure InitPorts; { Ports initialisieren }
Begin
DDRB:= %00001000;
ADMUX:= %00000010;
MDelay(5);
ADCSRA:=%10100000;
MDelay(5);
ADCSRB:=%00000110;
MDelay(5);
End InitPorts;
Procedure Main;
Begin
ADCSRA:=%11100000;
ADC:=(Integer(ADCH and $03)*256)+Integer(ADCL);
If ADC>22
then
SoftPWM1:=Lo((ADC-23) div 10);
else
SoftPWM1:=0;
EndSchnarch;
End Main;
{------------------------------------------------------------------------------}
{ Main Program }
{$IDATA}
Begin
EnableInts;
InitPorts;
Loop
Main;
Endloop;
End Hebbe_60xLED.
erzeugt folgende Fehler: siehe Bild. Es ist einzig das EndIf in Zeile 61 falsch.
Attachments
Filename: | Fehler.PNG |
Filesize: | 11.73 KB |
Title: | |
Download counter: | 142 |