尊敬的所有人:
我认为这是一个简单的问题、并给出了快速的答案... 但我已经搜索了相当长的一段时间、没有任何更改。 因此、我希望有人能帮助我。
我想要的:
将寄存器的地址设置为其他寄存器的值。 为了更加精确、例如将 DMA 的目的寄存器设置为 UART 输出缓冲寄存器。 “应该”如下所示:
DMA0DA = &UCA1TXBUF;
我得到的结果:
编译器警告,这很可能是真正的错误,例如“无法将类型 xxxx 的值分配给类型为“__SFR_FARPRT”的实体。
我已经尝试过的:
我得到这可能是因为我尝试将一个16位地址(UART 缓冲地址)写入32位(实际20位)寄存器… 因此、我尝试了各种不同的类型、例如:
DMA0DA = (uintptr_t *) &UCA1TXBUF;
此外、编译器指南还建议"ptrdiff_t"或"数据指针"、这两个都是编译器未知的...
我希望有人能帮助我解决我的误解。
祝你一切顺利、
托比亚斯