本人最近才涉足AVR单片机,在icc环境下简单得写了一个程序,就是让PC口间断输出高低电平,代码如下- #include<iom32v.h>
- #include <macros.h>
- #define uint unsigned int
- void main()
- {
- uint i;
- DDRC=0xff;
- PORTC=0x00;
- while(1)
- {
- PORTC=0xf0;
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- PORTC=0x0f;
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- i=50000;
- while(i--);
- }
- }
但是结果却很意外,烧写进单片机之后,PC口中只有PC1,PC2,PC6,PC7这四个I/O口可以测出明显的高低电平变化,而另外的四个口只稳定在0.69V左右并保持不变,开始我以为单片机坏了,换了一片新的,结果还是同上。然后我又在PA和PB上试了一下,结果又是正常的。想知道,这PC口的使用难到和其它I/O口有不一样的地方,希望哪位高手可以帮忙解答一下,先谢了!
|