While it may be possible to bend one of those to your proposed usage, it's far from ideal, for a number of reasons:
It's far more expensive than the single P-FET that you need to get the job done
It's risky: you can easily reverse the current through your components and blow them up
It imposes a ground offset which can cause you communication problems.
Using [...] the atmega's hardware pwm is not very suitable because I
need two 50/50 square waves with a phase difference of pi
I believe hardware PWM is the best solution to your problem. The PWM
outputs can be set to either “inverting” or “non-inverting” mode.
Set the two channels of a single timer to the same duty cycle, with one
what exactly is it that makes a simple function like digitalWrite() so damn slow??! Why isn't it just a wrapper function for direct port manipulation?
Well, it can take a variable as an argument. And the contents of the variable have to be looked up in a table to see which port and which bit.
If you use the DigitalWriteFast library then that turns your ...