为了对微处理器上的SCI,SPI,I2C (如f2806x和 F2802x)进行编程,每个外设TI都有两组寄存器定义。 例如SCI,TI在 sci.h/sci.c中有struct _sci_obj_,在F2806x_Sci.h中有struct sci_regs (基于controlSUITE的联合)。 它们实际上与结构中每个成员的大小和顺序相同。
因此,在我们使用SCI基本地址进行初始化(使用SCI_init())以获得SCI_HANDLE对象之后。 然后,如果要使用SCI_regs结构对象,只需将SCI_handle对象转换并传递到SCI_regs的指针。
如下所示:
sci_handle scia_handle = sci_init((void*)scia_base_addr, sizeof(SCI_Obj));
sci_regs * scia_regs_p =(sci_regs *) scia_handle;
只是想确保这是正确的方法。
谢谢。