Su código incluye una cláusula while inválida, una declaración PIN = 1 redundante y el ciclo de trabajo sería 2/3, ya que espera 10us en estado activo y 5us en estado inactivo.
Suponiendo que desea utilizar avr-gcc y tener la salida en PA2, el código se vería así:
#define PRT PORTA
#define PIN PA2
while (1) {
PRT |= 1 << PIN;
_delay_us(5);
PRT &= ~(1 << PIN);
_delay_us(5);
}
Tenga en cuenta que esto no será exactamente 100 kHz debido al hecho de que la configuración del pin también llevará algún tiempo.
Como se indicó en maike1, siempre es mejor usar interrupciones o, para PWM, comparar unidades para hacer esto, ya que está ocupado esperando y no puede hacer nada más al generar un PWM.