产品概述

单片机io口电平 单片机IO口不能输出高电平

小编 2024-10-12 产品概述 23 0

单片机IO口不能输出高电平

今天在做单片机项目时遇到了一个这样的问题,所用的单片机是PIC的,但是IO/P3.3口不能输出高电平。(PIC的叫RC3)

这次用的板子是别的公司的,最开始给它烧我们的程序,单片机每一个引脚都可以按照程序执行,因为后来需要用到延时,而最开始的时钟频率不便于计算延时,于是我在原有的程序上加了内部时钟的频率,选择的是4M,因为PIC单片机每4个时钟周期运行一条指令,这样便于计算时间。

IO口不能输出

按照上述方法执行之后,结果尽不如人意,这时候PIC单片机的IO口竟然连高电平都不能输出,怎么办呢?最开始是怀疑单片机的问题,于是用相同的程序给另外一块板子烧进去,结果还是一样的,之后试过很多办法都一样的结果,即使把时钟的配置去掉之后,IO口还是不能输出高电平,怎么办呢?好在我们这现在来了一位外聘专家S,他是属于大师级别一类人,尤其是对于PIC单片机。

AD采集

我把问题复述给S,他第一句话问我关AD采集了吗?我说,没有开AD采集啊。因为之前用的单片机没出现过,这次最开始编程的时候就没有注意这个AD采集,最后我把RC3上的AD采集口关掉之后,单片机又可以完美的输出高电平了。

专家就是专家,看待问题总能命中要害,这一点我的道行还很薄,同时我所需要的是去闭关沉淀。

写这一篇文章主要给给自己共勉,以后少犯类似的错误。

单片机硬件设计:单片机IO口无法输出高低电平原因分析

最近在用LPC11C14单片机,该单片机是32cortex-M0系列的,带有片上CAN资源,既可以使用寄存器编程,也可以使用库函数(CMSIS)来编程应用方便。其下载方式有两种:

SW方式;

ISP方式;

对于LQF48封装而言,调试口分别为:

29脚:SWCLK;

39脚:SWDIO;

这个两个引脚可以复用,在项目设计中到了29脚,将该引脚用作了GPIO输出脚,在用库函数调试的过程中发现时钟无法控制输出高低电平。而用寄存器版本就可以输出高低电平。花了好长时间终于找到了原因。

下面先看寄存器版本编程时使用的头文件代码:

再看CMSIS提供的库函数的头文件:

从头文件的对比已经发现了问题,寄存器版本的头文件P0_10的地址是68结尾,而CMSIS中P0_10的地址是70结尾,翻看LPC11C14的数据手册可以发现其地址为:0x40044068,显然CMSIS提供的头文件错了。将CMSIS头文件修改后,P0_10就可以正常使用了。

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。

公众号:micropoint8。嵌入式学习网_振兴网:www.picmcu.com

相关问答

51 单片机io口 是什么有效?

51单片机上的IO口无所谓高低电平有效,高低电平有效是指触发条件,可以自设定的。只有P0口是OC输出的,需要外部加上拉电阻,其它端口都带有上拉。在单片机系统...

51 单片机IO口 可以接高 电平 吗?

51单片机的IO口当然能接高电平,但首先要保证高电平的电压值不超过单片机引脚的电压容限,一般IO能承受的高电平电压是Vcc+0.2Ⅴ。另外,IO口必须配置成高阻输入...

51 单片机io口 设置?

51单片机的I/O口包括三类:通用I/O口、外部中断I/O口、特殊功能I/O口。通用I/O口可以用来实现数字输入/输出、模拟输入、计数器输入等功能,其设置方法如下:1...

单片机 的管脚是怎么控制高低 电平 的? - 懂得

如楼下所述,单片机内部是由一个场效应管控制io的高低电平状态,而场效应管的输入端是一个内部的锁存器,锁存器则直接由cpu控制,因此程序里对io口的操...

单片机 使用3.3v电源电压, IO口 是否能输入5v的高 电平 ?

这要查一下具体的单片机的技术资料,有些3.3v电源电压单片机的引脚可以加5V电压,而有些就不能加。这要查一下具体的单片机的技术资料,有些3.3v电源电压单片机...

单片机 的管脚是怎么控制高低 电平 的? - Kinkin的小美好 的回...

用程序就可以控制啊。汇编的话setP0.0就会让这个引脚输出高电平;clrp0.0就会让这个引脚输出低电平,这个时候等就会亮了,就这么简单!难道你的意...

关于 单片机IO口电平 被拉低,重烧程序后恢复正常,是什么原因造成的?

你所说的“时好时坏”,是指同一块线路板在不同的运行过程中有可能出现故障现象,还是说同一批线路板在相同工况下有可能出现故障现象?有没有试验过IO口的交换?...

51 单片机io口 检测 电平 高低的硬件原理是什么?

51单片机io口检测电平高低的硬件原理是:51单片机可以通过io口直接检测高电平,高电平来了51扫瞄io的那一位就是1,低电平就是0;51单片机是对所有兼容Intel...

可以控制 io口 电压的 单片机 ?

可以控制IO口电压的单片机有很多种,比如Atmel公司的ATmega系列单片机,ST公司的STM32系列单片机,TI公司的MSP430系列单片机等。这些单片机都可以通过软件或硬件...

单片机IO口 的旁边的RS是什么还写着10K*8,起到什么作用呢?

应该是阻排,为单片机提供上拉,即上拉电阻。51单片机P0口是,OC门,如果不加上拉,无法输出高电平。应该是阻排,为单片机提供上拉,即上拉电阻。51单片机P0口是,O...

猜你喜欢