慕森JC 发表于 2017-4-26 11:26:30

关于ARM不能正常控制GPIO,求助

最近在调试一个LPC1768的最小系统,鼓捣了一阵可以下载程序了,但是编程去控制GPIO口却不能正常输出高低电平。
而同样的程序在实验板上确实可以正常控制的,因此可以排除程序配置中出现问题,IO口是悬空的,我在实验板上测了下悬空的IO口,当不给输出时输出为2.4V左右,给高电平输出3.3V,低电平输出0V。而我在自己弄的板子上无论给什么电平都是输出2.6V左右。
因此觉得很奇怪,有上网去查过问题有的网友说可能是IO挂了,但我也试过很多个IO口了都不得,还是输出2.4V左右,好奇怪!

TBG3 发表于 2017-4-26 11:29:30

看IO配置成输出模式没有。

慕森JC 发表于 2017-4-26 11:37:42

TBG3 发表于 2017-4-26 11:29
看IO配置成输出模式没有。

我在实验板上试验过了,程序可以正常控制IO输出

TBG3 发表于 2017-4-26 11:39:09

用debug方式看IO配置寄存器吧。

gliet_su 发表于 2017-4-26 12:43:33

板子真正跑起来没,点个LED灯看下。要不就是原理图有错,供电脚或地脚没对。

size327948964 发表于 2017-4-26 13:05:03

是不是P0.29和P0.30 这两管脚做IO口 有一点问题

tongdayusu 发表于 2017-4-26 14:25:26

是不是实验板上有上拉电阻,而配置成开漏输出

慕森JC 发表于 2017-4-26 16:31:04

gliet_su 发表于 2017-4-26 12:43
板子真正跑起来没,点个LED灯看下。要不就是原理图有错,供电脚或地脚没对。 ...

供电可以正常供电,晶振可以起振,还有什么因素会造成上述问题吗?程序也在实验板上验证了。

慕森JC 发表于 2017-4-26 16:34:33

TBG3 发表于 2017-4-26 11:39
用debug方式看IO配置寄存器吧。

我用了debug测试了下,使用实验板时,可以看到寄存器配置正常,但用到我做的板子时光标无法指向main函数,我在debug选项中在"run to main "那个选项中打勾了,但调试界面中光标不知跑哪去了,直接复位光标也回不倒main函数

慕森JC 发表于 2017-4-26 16:35:32

size327948964 发表于 2017-4-26 13:05
是不是P0.29和P0.30 这两管脚做IO口 有一点问题

我怕用了很多个IO做了测试,都出现问题,感觉IO出现问题的可能性不大

TBG3 发表于 2017-4-26 16:57:51

慕森JC 发表于 2017-4-26 16:34
我用了debug测试了下,使用实验板时,可以看到寄存器配置正常,但用到我做的板子时光标无法指向main函数 ...

用keil还是IAR?

查一下这个文件在不在: startup_LPCxxxx.s

慕森JC 发表于 2017-4-26 22:11:42

感谢大家,问题解决了,我的ISP脚(P2.10)不小心连到GND了导致板子进入ISP模式了{:sweat:}

wzd5230 发表于 2017-4-26 22:57:43

慕森JC 发表于 2017-4-26 22:11
感谢大家,问题解决了,我的ISP脚(P2.10)不小心连到GND了导致板子进入ISP模式了 ...

看到你说debug时,运行不到main()就猜到可能运行前面的boot,并没有跳转到你的程序。
页: [1]
查看完整版本: 关于ARM不能正常控制GPIO,求助