Ok, so I have an Arduino Uno. It has 490Hz PWM on some pins and 980Hz PWM on some other pins. I've seen libraries allowing for PWM over 32kHz. The chip operates at 16MHz. Here's my question: why can't I manually program a function for this for reasonably high frequency? There's a delayMicroseconds function, so why can't I have a PWM signal reasonably close to that with a simple function, of extremely high resolution? I understand that there would be a few clock cycles, potentially a few for each line. Why do I need a complex library with timing clocks instead of a few lines of code?