Gast
#405845
Hallo, ich hab einen alten Quellcode von mir ausgegraben für ein 8 Kanal Software PWM. Ich wollte den Code auf ein FPGA / CPLD portieren. Bei der Simulation ist mir ein vermeidlicher Fehler aufgefallen. Falls der Zaehler für den Kanal == PWM_Reg. ist, dann wird der Port eingeschaltet , somit ist der Verbraucher auch kurz eingeschaltet, obwohl PWM_Reg = 0 ist.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Muesste normal nicht die Anweisungen so aussehen?
ISR(TIME0_OVF)
{
if (pwm_help[0] == 0){ PORTx = (1<<0);}
if (pwm_help[1] == 0){ PORTx = (1<<1);}
if (pwm_help[0] == [pwm_reg[0]) & ([pwm_reg[0] > 0)
{ PORTx = (1<<0); }
if (pwm_help[1] == [pwm_reg[1]) & ([pwm_reg[1] > 0)
{ PORTx = (1<<1); }
}
[/c]
Ich hoffe mir kann jemand kurz auf die Sprünge helfen.
Danke und Gruß,
Dirk