我正在尝试使用PIC24F16KA101的RA4引脚作为数字输出。它连接到7段显示器的其中一个段。但它始终给出约800mv的恒定电压。我无法驾驶这个别针。
我检查了数据表,知道它是否是漏极开路,但数据表中没有提到。我也尝试将其设置为开漏(ODCAbits.ODA4 = 1),并使用10K至Vcc(Vcc = 3V)的上拉电阻。但仍然无法驾驶它。
有没有人遇到过这样的问题?感谢任何帮助......
答案 0 :(得分:2)
如果GPIO没有在PIC上工作,那么通常是因为其中一个外设正在使用它。许多引脚是多用途的,如果其中一个外设正在使用它,那么它将无法用作GPIO。
数据手册中有针脚引脚图上的引脚(对于PDIP20封装,请仔细检查您使用的封装):
PGC3 / SOSCO / T1CK / U2CTS / CN0 / RA4
这告诉您哪些外设使用该引脚。这意味着您需要弄清楚PGC3的用途,并将其关闭。然后你必须弄清楚SOSCO是什么,并将其关闭。还有T1CK(定时器1时钟输入可能?),U2CTS和CN0必须关闭。
答案 1 :(得分:0)
我刚用PIC24FV32KA301遇到了这个问题。我的设备的此引脚上的外设列表几乎与您的相同,即:PGEC3 / SOSCO / SCLKI / U2CTS / CN0 / RA4
根据数据表,问题在于FOSCSEL配置字的SOSCSRC熔丝,它在两者之间切换: SOSCO引脚上的“模拟晶体功能”和“数字SCLKI功能”。
要在SOCSO引脚上获得数字I / O,需要清除SOSCSRC保险丝。默认设置为(1)。以下是我使用的配置线:
_FOSCSEL( SOSCSRC_DIG );
数据表没有明确说明这将允许SOSCO引脚上的数字I / O,但我在microchip forum post中发现具有类似外设集的不同器件的数据表使情况更加清晰。
答案 2 :(得分:0)
这是因为可能启用了第二个振荡器(SOSC),您可以从OSCCON寄存器中的SOSCEN位禁用它;代码是:
OSCCONbits.SOSCEN = 0;
然后您可以像往常一样使用TRIS寄存器将引脚配置为输出......
答案 3 :(得分:0)
注意SOSC引脚可能是通用输入引脚(如果不用作辅助振荡器),因此您可能无法将其用作输出引脚