打印

F020为什么IO死锁?有什么解决方法?谢谢大家

[复制链接]
2275|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zyboy|  楼主 | 2009-5-23 23:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在用F020单片机的时候,发现IO作为输入的时候,实际输入低电平(万用表量过),但寄存器读出的是1,刚开始怀疑输入信号有脉冲把IO口冲死,后来用示波器看没看到什么大脉冲,IO口加了TVS管也没用。最后把IO口由漏极开路方式改为推挽方式,反而好了!大家知道什么原因吗?谢谢!

一个小插曲:我把这个问题在新华龙反映,有个好像就是那个杨工在我提的问题后面留了手机号。我以为他是新华龙的,把电话抄了下来,后来我的老大打过去问他,不知道他说的什么,老大接完电话还训我,说不知道他说什么,那找的这个人。过了一会,他还发了个短信:意思是说给他几百块钱,再提供解决方案!我晕!

相关帖子

沙发
jerkoh| | 2009-5-23 23:19 | 只看该作者

re

设置弱上拉呀

使用特权

评论回复
板凳
zyboy|  楼主 | 2009-5-24 15:19 | 只看该作者

弱上拉也没用

我IO口接了上拉电阻,程序里面设不设置弱上拉都不行!

使用特权

评论回复
地板
zhaoyu2005| | 2009-5-24 20:40 | 只看该作者

没用过这个片子

不过觉得楼主说的有问题,漏极开路(OD,集电极开路OC)和推挽都是设置为输出的。

使用特权

评论回复
5
xuyaqi| | 2009-5-24 20:45 | 只看该作者

不同于标准51,c8051f系列单片机有些IO口(如P4-P7)读写前是要先设置寄存器地址的,是否你忽略了此问题?

使用特权

评论回复
6
lyjian| | 2009-5-24 21:20 | 只看该作者

把你的程序贴出来

使用特权

评论回复
7
zyboy|  楼主 | 2009-5-24 22:23 | 只看该作者

用了两年多了,不可能是程序的问题

/********************************************************************
* Function Name  : PORT_Init
* Description    : Configure the Crossbar and GPIO ports
* Input          : None
* Output         : None
* Return         : None
******************************************************************/
void PORT_Init(void)
{
   XBR0    = 0x07;                     // Enable UART0 SPI I2C
   XBR1    = 0x14;                     // Enable INT0 INT1
   XBR2    = 0x44;                    // weak pull-ups
   //XBR2    = 0xC4;        // Disable weak pull-ups

   P0MDOUT = 0x00;    //P0.6=SDA; P0.7=SCLK                  
   P1MDOUT = 0x00;    //P1.5=IO_RESET                    
   P2MDOUT = 0x00;    //P2.0-P2.7 Osw_ctrl                
   P3MDOUT = 0x00;    //P3.3=CLOSEDOG                
   P74OUT  = 0x00;                                                 
}

使用特权

评论回复
8
xuyaqi| | 2009-5-24 23:43 | 只看该作者

如果是老程序是否是管脚虚焊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

356

帖子

0

粉丝