M52233 functions

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

M52233 functions

Jump to solution
1,130 Views
anthonyrios
Contributor I

I am working with the M52233 Demo board and was wondering if there is a simple nono_sleep() function or some sort of delay function already implemented to be used with the Freescale CodeWarrior IDE and this board.  Or should i make my own?

Labels (1)
1 Solution
1,029 Views
scifi
Senior Contributor I

DMA timers are perfect for sub-microsecond delays. They can be configured as 32-bit naturally overflowing timers running at CPU frequency:

#include "mcf522regs.h"

#define DTIM_NUM 1

void

timer_init(void)

{

        DTIM_DTMR(DTIM_NUM) = DTMR_CLK_DIV1 | DTMR_RST;

}

void

timer_delay(unsigned int ticks)

{

        unsigned int start, diff;

        start = DTIM_DTCN(DTIM_NUM);

        do

        {

                diff = DTIM_DTCN(DTIM_NUM) - start;

        }

        while (diff <= ticks);

}

View solution in original post

2 Replies
1,029 Views
Monica
Senior Contributor III

Anthony, was this of any help?

Please keep us posted!

Best regards!

0 Kudos
Reply
1,030 Views
scifi
Senior Contributor I

DMA timers are perfect for sub-microsecond delays. They can be configured as 32-bit naturally overflowing timers running at CPU frequency:

#include "mcf522regs.h"

#define DTIM_NUM 1

void

timer_init(void)

{

        DTIM_DTMR(DTIM_NUM) = DTMR_CLK_DIV1 | DTMR_RST;

}

void

timer_delay(unsigned int ticks)

{

        unsigned int start, diff;

        start = DTIM_DTCN(DTIM_NUM);

        do

        {

                diff = DTIM_DTCN(DTIM_NUM) - start;

        }

        while (diff <= ticks);

}