Hello iedereen. Intussen ben ik een dikke week bezig met eenvoudige dingen te proberen met pic's.
Momenteel ben ik aan het spelen met een 12F675. Deze heeft geen PWM module aan boord. Daarom dacht ik het eens zelf in mikroC te schrijven als functie.
Ik heb een eerste implementatie geschreven, en die gaat als volgt:
Mijn ervaring is dat delay_us() een vaste waarde moet krijgen, vandaar deze constructie.
Is dit ietwat "efficiënt", of kan er wat aan verbeterd worden?
Momenteel ben ik aan het spelen met een 12F675. Deze heeft geen PWM module aan boord. Daarom dacht ik het eens zelf in mikroC te schrijven als functie.
Ik heb een eerste implementatie geschreven, en die gaat als volgt:
C: soft_pwm
1
2
3
4
5
6
7
8
9
10
11
12
| void soft_pwm (unsigned int waarde){ int aa; for (aa=0;aa<waarde;aa++) { GPIO = 1; delay_us(1); } for (aa=0;aa<255-waarde;aa++) { GPIO = 0; delay_us(1); } } |
Mijn ervaring is dat delay_us() een vaste waarde moet krijgen, vandaar deze constructie.
Is dit ietwat "efficiënt", of kan er wat aan verbeterd worden?
[ Voor 9% gewijzigd door Verwijderd op 26-06-2007 18:05 ]