hi,

weil im .h file ja "_UART_H_" definiert wird und nicht "uart.h".

hier mal ein beispiel:

wenn nicht defined _UART_H_
--> #ifndef _UART_H_

dann definen wir _UART_H_ einfach
--> #define _UART_H_

beim nächsten aufruf wäre _UART_H_ schon defined und die #ifndef abfrage würde false liefern dadurch wird der code nicht ausgeführt sondern übersprungen +rollingeys+

hoffe das ist so verständlich

lg