很多人在使用单片机时,总是会面临一个问题,就是在单机片的运用过程中老是输出高低电平,这是为什么呢?下面小编就以LPC11C14单片机为例来为你解说单片机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就可以正常使用了。
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关文章
LED的基本认识与STC89C52中的LED(2024-08-16)
。还没有完全明白这是什么原理,目前的一种解释是,发光二极管正极和VCC(正极)相连,设置了对应引脚为低电平 这样电路就才能导通了。
update:
我发现没有记录一个问题,就是为什么把引脚设为低电平......
基于AT89C52单片机实时时钟程序编写(2023-09-26)
();
_nop_();
_nop_();
_nop_();
E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令
}
void WriteAddress(unsigned char x......
原来STM32单片机的开发如此的简单(2022-12-14)
,然后再置高电平这样无限的循环下去灯就会闪烁起来。
先用HAl库函数来先写第一句,置PB7低电平,然后来一个延时500毫秒。置高电平就把上面的程序拷贝下来,把reset改成set就可......
怎么看时序图--nand flash的读操作详解(2024-06-06)
效)。
那么这里既然是写命令 那么就一定是 CLE有效(高电平) ALE无效(低电平)。
同样命令既然是写给nand flash的那么 肯定有一个写周期。我们需要注意的是,写是......
单片机复位电路详解(2023-01-31)
来简单了解一下这个准双向IO口的电路,如下图所示。
准双向IO口结构图
当内部输出是高电平,经过一个反向器变成低电平,NPN三极管不会导通,那么单片机IO口从内部来看,由于上拉电阻R的存在,所以是一个高电平。当外部没有按键按下将电平......
汽车音响需要多少个分频器?有什么作用?(2023-06-06)
的高低来分,可以分为高电平分频器和低电平分频器。高电平分频器也是我们通常说的被动式分频器,它是指经功率放大器放大的大功率信号,再经被动式分频器分频输出到特定的单元。低电平分频器又称为主动式分频器,它是......
使用Arduino和PIR传感器的自动房间灯(2023-05-30)
。由于PIR传感器的数据输出被连接到Arduino的数字针脚8,只要它变成高电平,Arduino就会通过使继电器针脚变成低电平来激活继电器(因为继电器模块是一个低电平有效模块)。
这将......
申矽凌自动检测方向的开关型电平转换器产品系列(2023-06-15)
端口导通,另一端被同步拉到低电平,以此完成低电平的传输;当一端为高电平时,传输门关闭,另一端被同侧的上拉电阻拉抬到相应电平上,从而实现高电平的转换。
开关型电平......
经典单片机供电电路分析(2023-02-24)
电压,从而维持T3导通
之后,单片机软件可以来使得IO2端口重新变成低电平,使得T1截止,进而使得T3截止。
可以根据IO1端口,读取T2的开关状态,进而判断用户是否按动功能键。判断用户按动Test之后......
经典单片机供电电路原理图(2024-11-11 15:31:46)
。
之后,单片机软件可以来使得IO2端口重新变成低电平,使得T1截止,进而使得T3截止。
可以根据IO1端口,读取T2的开关状态,进而判断用户是否按动功能键。判断用户按动Test......