avr的iccavr简单赋值程序
PORTA=0x00;DDRA=0x00;USART_Transmit(PINA);delay_us(10);用的是iccavr结果助手16进制总是ff,没外加电平啊,怎...
PORTA=0x00;
DDRA =0x00;
USART_Transmit(PINA);
delay_us(10);
用的是iccavr结果助手16进制总是ff,没外加电平啊,怎么回事?有知道的吗? 展开
DDRA =0x00;
USART_Transmit(PINA);
delay_us(10);
用的是iccavr结果助手16进制总是ff,没外加电平啊,怎么回事?有知道的吗? 展开
1个回答
展开全部
,把DDRA改成0xff就好了,你写的是0x00,意味着上拉输入,即当你不外接低电平时,所有默认值全部为1,。当然悬空时肯定也是1,,懂了吗?
追问
是我没说清楚,我是要输入。在没输入前全部要为0。改成0xff行吗?
追答
只要是设为了输入,那么默认状态就是1,从数字电路模拟电路知识应该知道,对于输入设备,为了减弱负载效应,就应该是高阻态输入,所以为了抗干扰,默认值必须是1。
为了达到你说的默认为0的效果,你可以加反相器啊,几毛钱的。
另外,只要你写了DDRA=0X00,那么不管你的PORT写FF,还是00,当你读取PIN的时候都是高电平
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询