之前用16F72没问题,想用上串口就找16F722,该注意的寄存器都改过来了,编译下去。不能运行,百思不得其解,整个最简单的程序测试一下,结果发现这个奇异现象:
测试程序如下:(PICC 9.65 编译)
void main (void)
{
TRISB1 = 0;
TRISB2 = 0;
RB1 = 0;
RB2 = 0;
for (;;)
{
RB1 = 1;
RB2 = 1;
}
}
程序结果是RB1、RB2输出1,但实测结果却出乎我意料。用示波器测试了一下:结果。。。 RB1置1时,RB2被置0,运行到RB2置1时,RB1又被置0了。就是说RB1、RB2成了交替输出了。(未开启看门狗)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
看来有关模块设置的寄存器,好使手册中说明不会影响的,为安全起见还是配置上为好。
连续位操作是可以的。至少在我这没出问题。我提出的问题是因ANSEL寄存器引起的。
一周热门 更多>