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

发布时间:2016-6-12 10:24    发布者:designapp
关键词: 单片机
最近在用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就可以正常使用了。
本文地址:https://www.eechina.com/thread-169044-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • Cortex-M4外设 —— TC&TCC结合事件系统&DMA优化任务培训教程
  • 利用模拟开发工具生态系统进行安全电路设计
  • 深度体验Microchip自动辅助驾驶应用方案——2025巡展开启报名!
  • 更佳设计的解决方案——Microchip模拟开发生态系统
  • 贸泽电子(Mouser)专区

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表