|
|
|
|
|
by bombela
1091 days ago
|
|
In my experience a decent way to solve this is by two layers of abstractions. I will take any better design ideas! First layer gives you safe access to the hardware registers. For example, ensure atomic/synchronized access, forbid invalid/reserved values. Name the flags/bits to reduce human mistakes (reg |= Prescaler::Div8. You can still miss-configure the PWM/Timer settings of course. The second layer gives you a safe driver interface. Giving you all the options to configure a timer for a some PWM settings for example. |
|