#include <nitro/cp.h> s32 CP_IsDivBusy( void )
Determines whether the divider is busy or not. After writing to a divider register, it will be in busy status for a fixed cycle period. To get the result of division, you need to read when it is no longer busy.
Calculation cycle is as follows (The calculation cycle is a cycle number based on 33.514 MHz. The CPU cycle conversion is a cycle number based on 67.028 MHz.):
|
Division Mode |
Calculation |
Calculation Cycle |
CPU Cycle Conversion |
|
CP_DIV_32_32BIT_MODE |
32-bit divided by 32-bit |
18 cycles |
36 cycles |
|
CP_DIV_64_32BIT_MODE |
64-bit divided by 32-bit |
34 cycles |
68 cycles |
|
CP_DIV_64_64BIT_MODE |
64-bit divided by 64-bit |
34 cycles |
68 cycles |
Reference DIVCNT(0x4000280) of the IO register.
None
Whether the divider is busy or not. 0 means ready status and non-0 means busy status.
CP_SetDivImm*, CP_SetDiv*, CP_WaitDiv, CP_GetDivResult*, CP_GetDivRemainder*
11/02/2004 Changed the function type of C Specification from u32 to s32.
06/16/2004 Added description of cycle number.
01/09/2004 Added content.
12/01/2003 Initial version.