提问人:Gambanishu Habbeba 提问时间:6/25/2023 最后编辑:Gambanishu Habbeba 更新时间:7/6/2023 访问量:163
PIC32CX寄存器名称不在标头中?
PIC32CX register names not in header?
问:
我正在尝试使用PIC32CX BZ2 进行黑客攻击。由于 MPLAB 中出于某种奇怪的原因没有代码完成,我有点被迫知道寄存器名称,或者头文件中声明的任何设置。如果它们与文档匹配,并且我可以使用 TRISA 等,那就没问题了。但只有GPIOB_REGS>GPIO_TRIS和其他类似的东西——这是完全不奇怪的。再说一次,如果不提前输入,我必须在头文件中挖掘这些内容。这不可能是Microchip的计划,对吧?有没有办法使用普通的寄存器名称?谢谢!
编辑: 好的,澄清一下:这是一架带有 PIC32CX BZ451 的 WBZ2。我正在使用 MPLAB,安装了正确的编译器 (XC32) 并且工作正常(编译有效的程序),并且选择了正确的设备。查看屏幕截图。
答:
0赞
Mike
6/26/2023
#1
PIC32CX是基于ARM的32位控制器,xc8编译器是8位微芯片控制器的编译器。
如果你想使用你已经安装的PIC32CX,并选择一个合适的编译器:
- XC32 编译器或
- ARM 32 位 GNU 工具链
如果您想使用 8 位微芯片控制器,xc8 编译器是一个不错的选择。
您可以在 procect 属性中执行此设置。
永远不要忘记:
#include <xc.h>
在具有MIPS内核的微芯片控制器中,配置寄存器的处理与具有ARM内核的微芯片控制器完全不同:
MIPS:ASNSELA = 0x0000;
手臂:GPIOA_REGS->GPIO_ANSEL = 0x0000;
评论
0赞
Gambanishu Habbeba
6/26/2023
我们正在谈论一个 32 位控制器。您能否分享一张屏幕截图,显示使用 PIC32CX BZ2 处理器的 TRISA regster 的使用情况!因为我确信标头不会根据文档定义寄存器名称。
0赞
Gambanishu Habbeba
6/26/2023
例如,对于PIC32MX,p32mx230f064b.h 第 4647 行及以下定义了 TRISA,一切正常。对于PIC32CX处理器,情况并非如此。这是我想首先确定的,然后我可以继续进一步的问题。
0赞
Mike
6/26/2023
我从未使用过 PIC32CX,但这个与基于 MIPS 的 MX 控制器完全不同。PIC32CX是基于ARM的控制器。因此,您必须查看如何配置 IO 引脚的文档。
0赞
Gambanishu Habbeba
6/26/2023
我真的很感谢你的帮助,我很高兴有人回答。话虽如此,问题是关于PIC32CX的,如果你从未使用过它,你可能无法回答这个问题。如果您觉得您的环境设置正确,您可以做的是使用所述控制器创建一个项目,看看是否可以编译我问题中的代码。
评论
xc.h
xc.h