沐风野草 发表于 2013-4-10 19:09:47

ATmega16的PC.2到PC.5不能置低是什么原因

遇到一件毁了世界观的事情,直接把ATmega16的32个IO口置成低电平,但是发现PC.2到PC.5一直是高电平 ,起始我以为是单片机坏了,但换了两坏后也是同样的问题,然后换了坏开发板也是同样的问题,看了下文档好像那几个脚是“SDA” "TCK" "TMS" "TDO",不知道是这几个管脚有特殊的复用功能还是设置的方法不对。我是用AVR转接板用在51的开发板上的,封装是DIP,希望各位大神给点提示,谢谢啊。

zb05022005 发表于 2013-4-10 19:12:06

熔丝位里关掉JTAG再试一下

沐风野草 发表于 2013-4-10 19:23:53

zb05022005 发表于 2013-4-10 19:12 static/image/common/back.gif
熔丝位里关掉JTAG再试一下

会不会跟ICC编译器有关

zb05022005 发表于 2013-4-10 19:34:49

沐风野草 发表于 2013-4-10 19:23 static/image/common/back.gif
会不会跟ICC编译器有关

不是编译器的问题

那几个口是给JTAG用的。启用JTAG后,2、3、5口会启用内部的上拉电阻

m16的datasheet里面有说明

desertsailor 发表于 2013-4-10 19:36:57

把熔丝位JTAG使能关掉即可

沐风野草 发表于 2013-4-10 19:40:27

zb05022005 发表于 2013-4-10 19:34 static/image/common/back.gif
不是编译器的问题

那几个口是给JTAG用的。启用JTAG后,2、3、5口会启用内部的上拉电阻


我之前用IAR编译时好像没出现这个问题,但是用ICC8编译后就会这个问题了

沐风野草 发表于 2013-4-10 19:41:02

desertsailor 发表于 2013-4-10 19:36 static/image/common/back.gif
把熔丝位JTAG使能关掉即可

MCUCSR=1<<JTD?这一句就行了吧

desertsailor 发表于 2013-4-10 20:06:31

{:mad:}你先了解一下什么叫熔丝位,然后在烧录程序时选择不使能JTAG。

沐风野草 发表于 2013-4-10 21:14:10

desertsailor 发表于 2013-4-10 20:06 static/image/common/back.gif
你先了解一下什么叫熔丝位,然后在烧录程序时选择不使能JTAG。

好的,谢谢啊,就用那句就可以解决了,不过熔丝位还是不太懂
页: [1]
查看完整版本: ATmega16的PC.2到PC.5不能置低是什么原因