LPC11C14单片机为例剖析IO无法输出凹凸电平的处理方法

|
许多人在运用单片机时,总是会面对一个问题,就是在单机片的运用过程中老是输出凹凸电平,这是为什么呢?下面小编就以LPC11C14单片机为例来为你说明单片机IO为什么无法输出凹凸电平的原因。

在用LPC11C14单片机,该单片机是32cortex-M0系列的,带有片上CAN资源,既能够运用寄存器编程,也能够运用库函数(CMSIS)来编程运用便利。其下载方法有两种:

SW方法;

ISP方法;

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

29脚:SWCLK;

39脚:SWDIO;

论单片机IO为什么无法输出凹凸电平的解决方法

这个两个引脚能够复用,在项目规划中到了29脚,将该引脚用作了GPIO输出脚,在用库函数调试的过程中发现时钟无法控制输出凹凸电平。而用寄存器版别就能够输出凹凸电平。花了好长时间总算找到了原因。

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

论单片机IO为什么无法输出凹凸电平的解决方法

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

论单片机IO为什么无法输出凹凸电平的解决方法

从头文件的比照现已发现了问题,寄存器版别的头文件P0_10的地址是68结束,而CMSIS中P0_10的地址是70结束,翻看LPC11C14的数据手册能够发现其地址为:0x40044068,明显CMSIS供给的头文件错了。将CMSIS头文件修改后,P0_10就能够正常运用了。

请尊重我们的辛苦付出,未经允许,请不要转载ca88亚洲城【官】_电子爱好者网的文章!
上一篇:CPU+FPGA的图片紧缩异构加快计划功率提高14倍
下一篇:以LCD1602驱动程序为例剖析C51单片机编程技巧