This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
为了对微处理器上的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;
只是想确保这是正确的方法。
谢谢。
许
您描述的第一种方法是我们的“驱动程序”样式,第二种方法是我们的“结构”样式。 用户通常选择一种样式并坚持使用,来回切换可能会令人困惑。
无论如何,这应该是有效的! 我建议您在定义SCI_regs时使用“volatile”关键字,因为此结构中的某些值可能会被应用程序代码之外的内容更改。
此致,
科迪