¿Hay _delay_ms () espera activa en SDCC + STM8 MCU?

1

¿Hay una función de espera activa _delay_ms () en SDCC para STM8 MCU?

(Solo encontré delay100tcy () para pic16 en incluye) Si no existe, ¿cuál es la implementación más simple? La macro FCPU es conocida.

    
pregunta Vincent Alex

1 respuesta

2

Adaptado de aquí :

#define T_COUNT(x) (( F_CPU * x / 1000000UL )-5)/5)

static inline void _delay_cycl( unsigned short __ticks )
{
    __asm__("nop\n nop\n"); 
    do {    
      __ticks--;
    } while ( __ticks );
    __asm__("nop\n");

static inline void _delay_us( const unsigned short __us )
{
    _delay_cycl( (unsigned short)( T_COUNT(__us) );
}

static inline void _delay_ms( unsigned short __ms )
{
    while ( __ms-- )
    {
        _delay_us( 1000 );
    }
}
    
respondido por el TisteAndii

Lea otras preguntas en las etiquetas