现在我正在阅读一本名为“嵌入式系统编程”的初级书籍。其中有一节解释了如何使用 C 操作外围设备上的寄存器。
一开始就有一个例子,我只是不明白。
uint32_t *pGpio0Set = (uint32_t *)(0x40E00018);
我认为这是声明一个指向 32 位无符号整数的指针。我还可以猜测,相关寄存器控制着 GPIO,并且该寄存器位于地址 0x40E00018。
我不明白的是(0x40E00018)前面的(uint32_t *)是什么意思以及它有什么作用。
安德鲁
最佳答案
它被称为 type cast 。它通常将一种类型转换为另一种类型。在本例中,它将十六进制数转换为地址。该十六进制数字周围的括号是多余的。
关于c - 设置硬件外设中的寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10308859/