@Harald: :confused5: ops:
Ich hab mal ein paar Bilder gemacht. Oben ist der 8-Bit- unten der 10-Bit-PWM zu sehen.
Der Dateiname ist wie folgt aufgebaut:
PreXResY_aaa_bbb.png
X=Prescaler
Y=Resolution
aaa=Wert der 8-Bit PWM
bbb=Wert der 10-Bit PWM
Und der Code dazu:
Program PWMTest;
{$NOSHADOW}
{ $WG} {global Warnings off}
Device = mega644, VCC=5;
{ $BOOTRST $07000} {Reset Jump to $07000}
Import SysTick, PWMPort1A, PWMPort1B, PWMPort2A, PWMPort2B;
From System Import;
Define
ProcClock = 20000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0100, iData;
FrameSize = $0100, iData;
PWMPresc1 = 1;
PWMRes1 = 10;
PWMMode1 = fast, positive;
PWMPresc2 = 1;
PWMRes2 = 10;
PWMMode2 = fast, positive;
Implementation
{$IDATA}
{------------------------------------------------------------------------------}
{ Type Declarations }
Type
{------------------------------------------------------------------------------}
{ Const Declarations }
Const
{------------------------------------------------------------------------------}
{ Var Declarations }
Var
{$IDATA}
{------------------------------------------------------------------------------}
{ functions }
Procedure InitPorts;
Begin
DDRD:= %11110000; //
End InitPorts;
{------------------------------------------------------------------------------}
{ Main Program }
{$IDATA}
Begin
InitPorts;
EnableInts;
PWMPort1A:=100; //PWMTest;
PWMPort1B:=100; //PWMTest;
PWMPort2A:=100; //PWMTest;
PWMPort2B:=100; //PWMTest;
Loop
EndLoop;
End PWMTest.
Und ein paar Fragen:
- wieso kann ich beim 8-Bit beim Define 10-Bit angeben, obwohl es kein 10-Bit ist ?
- wenn ich beim 8-Bit jedoch eine Zahl größer 255 angeben, bekomm ich die Fehlermeldung "Byte expected"
- wieso kann ich PWMPort0A und 0B nicht verwenden ? (Mega644)
- geht das nicht irgendwie schneller ?
- wie zuverlässig wäre es eine PWM per Task/Process mit einem SysTick von 0.1 zu erzeugen ? Das wären dann wohl 100µs = 10 kHz. Richtig ?
Gruss
Harry
Ich hab mal ein paar Bilder gemacht. Oben ist der 8-Bit- unten der 10-Bit-PWM zu sehen.
Der Dateiname ist wie folgt aufgebaut:
PreXResY_aaa_bbb.png
X=Prescaler
Y=Resolution
aaa=Wert der 8-Bit PWM
bbb=Wert der 10-Bit PWM
Und der Code dazu:
Code
Program PWMTest;
{$NOSHADOW}
{ $WG} {global Warnings off}
Device = mega644, VCC=5;
{ $BOOTRST $07000} {Reset Jump to $07000}
Import SysTick, PWMPort1A, PWMPort1B, PWMPort2A, PWMPort2B;
From System Import;
Define
ProcClock = 20000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0100, iData;
FrameSize = $0100, iData;
PWMPresc1 = 1;
PWMRes1 = 10;
PWMMode1 = fast, positive;
PWMPresc2 = 1;
PWMRes2 = 10;
PWMMode2 = fast, positive;
Implementation
{$IDATA}
{------------------------------------------------------------------------------}
{ Type Declarations }
Type
{------------------------------------------------------------------------------}
{ Const Declarations }
Const
{------------------------------------------------------------------------------}
{ Var Declarations }
Var
{$IDATA}
{------------------------------------------------------------------------------}
{ functions }
Procedure InitPorts;
Begin
DDRD:= %11110000; //
End InitPorts;
{------------------------------------------------------------------------------}
{ Main Program }
{$IDATA}
Begin
InitPorts;
EnableInts;
PWMPort1A:=100; //PWMTest;
PWMPort1B:=100; //PWMTest;
PWMPort2A:=100; //PWMTest;
PWMPort2B:=100; //PWMTest;
Loop
EndLoop;
End PWMTest.
Und ein paar Fragen:
- wieso kann ich beim 8-Bit beim Define 10-Bit angeben, obwohl es kein 10-Bit ist ?
- wenn ich beim 8-Bit jedoch eine Zahl größer 255 angeben, bekomm ich die Fehlermeldung "Byte expected"
- wieso kann ich PWMPort0A und 0B nicht verwenden ? (Mega644)
- geht das nicht irgendwie schneller ?
- wie zuverlässig wäre es eine PWM per Task/Process mit einem SysTick von 0.1 zu erzeugen ? Das wären dann wohl 100µs = 10 kHz. Richtig ?
Gruss
Harry
Attachments
Filename: | Pre1Res10_10_10.png |
Filesize: | 43.59 KB |
Title: | |
Download counter: | 123 |
Filename: | Pre1Res10_50_50.png |
Filesize: | 45.73 KB |
Title: | |
Download counter: | 128 |
Filename: | Pre1Res10_200_200.png |
Filesize: | 46.38 KB |
Title: | |
Download counter: | 128 |
Filename: | Pre1Res10_250_250.png |
Filesize: | 45.59 KB |
Title: | |
Download counter: | 122 |
Filename: | Pre1Res10_250_900.png |
Filesize: | 44.43 KB |
Title: | |
Download counter: | 126 |