如何在我的输入连接的PIC32中找到哪个I / O寄存器

时间:2015-10-29 17:14:55

标签: microchip pic32

我在芯片组max32上有一个PIC32MX795F512L。

我需要使用程序集来读取已连接的按钮已被按下。

在查看文档(http://ww1.microchip.com/downloads/en/DeviceDoc/61120D.pdf)时,它说使用了TRISx,PORTx,LATx寄存器。但是我如何找到正确的呢?如果电路板上的引脚说它连接到图32的引脚74,那么它只是TRIS74,PORT74,LAT74吗?

在电路板参考(http://www.digilentinc.com/Data/Products/CHIPKIT-MAX32/chipKIT_Max32_RM.pdf第11页)中,它表示该引脚的PIC32信号为SOSCO / T1CK / CN0 / RC14,但我不知道这意味着什么。

我很困惑。任何帮助将不胜感激。我花了几个小时试图弄清楚这一点无济于事。感谢

1 个答案:

答案 0 :(得分:1)

所有这些都在各种应用/规格表中进行了解释。我知道这些起初可能会让人不知所措,我将在这里总结一下:

TRISx是三态控制寄存器,您将引脚设置为输入或输出。 LATx是输出锁存寄存器,可以设置输出值(如果设置为TRISx寄存器中的输出)。 PORTx是端口读取寄存器,您可以读取端口值(如果在TRISx寄存器中设置为输入)。

根据您要使用的引脚,可能还有一些其他寄存器可能会限制您读取所述引脚的能力,例如将引脚设置为模拟模式的ANSELx寄存器(禁用数字输入)。

有关哪个引脚属于***。x的信息,请查看处理器的主规格表。从您提供的链接中,您使用的电路板似乎是TQFP,因此,规格表(http://ww1.microchip.com/downloads/en/DeviceDoc/61156H.pdf)的第15页应该包含您要查找的信息。使用上面的引脚74示例,它被标记为“SOSCO / T1CK / CN0 / RC14”。重要的部分是RC14,它意味着PORT C,第14位。

要从中读取,您可以执行PORTCbits.PORTC14,也可以“if(PORTC& 0x4000)......”。其他寄存器的工作方式相同(“TRISCbits.TRISC14 = 0; LATCbits.LATC14 = 1;”)。