dsp5509结构体问题
时间:10-02
整理:3721RD
点击:
typedef int int16;
typedef long int32;
typedef unsigned int Uint16;
typedef unsigned long Uint32;
typedef float float32;
typedef long double float64;
//ioport unsigned int *clkmd;
//clkmd=(unsigned int *)0x1c00;
#define clkmd *(volatile ioport unsigned int *)0x01C00
typedef struct{
Uint16 LOCK:1;
Uint16 BREAKLN:1;
Uint16 BYPASSdiv:2;
Uint16 PLLENABLE:1;
Uint16 PLLdiv:2;
Uint16 PLLMULT:4;
Uint16 TEST:1;
Uint16 IOB:1;
Uint16 IAI:1;
Uint16 Rsvd:1;
}clkmd_BITS;
union{
Uint16 all;
struct clkmd_BITS bit;
}clkmd_REG;
clkmd_REG *clkmd;
DSP5509结构体应该怎么定义啊?联合体不能定义指针,那么DSP2812是用什么方法把联合体地址设为寄存器地址的?
typedef long int32;
typedef unsigned int Uint16;
typedef unsigned long Uint32;
typedef float float32;
typedef long double float64;
//ioport unsigned int *clkmd;
//clkmd=(unsigned int *)0x1c00;
#define clkmd *(volatile ioport unsigned int *)0x01C00
typedef struct{
Uint16 LOCK:1;
Uint16 BREAKLN:1;
Uint16 BYPASSdiv:2;
Uint16 PLLENABLE:1;
Uint16 PLLdiv:2;
Uint16 PLLMULT:4;
Uint16 TEST:1;
Uint16 IOB:1;
Uint16 IAI:1;
Uint16 Rsvd:1;
}clkmd_BITS;
union{
Uint16 all;
struct clkmd_BITS bit;
}clkmd_REG;
clkmd_REG *clkmd;
DSP5509结构体应该怎么定义啊?联合体不能定义指针,那么DSP2812是用什么方法把联合体地址设为寄存器地址的?