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.
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
