纬图虚拟仪器论坛

 找回密码
 立即注册
搜索
查看: 10195|回复: 2

LPC1100 系列微控制器使用的30问答(转)

[复制链接]
发表于 2012-7-29 19:05:55 | 显示全部楼层 |阅读模式
本帖最后由 wdluo 于 2012-7-29 19:41 编辑

LPC1100 系列微控制器使用的30问答

1.   GPIO翻转速度最大为多少?
A:GPIO的翻转速度最大可达系统时钟的四分之一。

2.   
GPIO内部上/下拉电阻多大?
A:内部上/下拉电阻为40KΩ左右,属于弱上拉,正常使用时,需外接上拉电阻的场合要加上拉电阻。

3.   
GPIO的各种工作模式如何使用?
A:LPC1100系列Cortex-M0微控制器的I/O口可配置为四种模式:高阻(既不上拉也不下拉)、上拉、下拉和中继。
输出模式下,无论配置为哪种模式,I/O口都能正常输出高/低电平,说明四种模式的配置都是针对输入设计的。可参阅数据手册“Standard I/O pad configuration”一节中相关描述。
输入模式下,让引脚悬空,I/O口设置为不同模式时情况如下:
  • 设置为高阻模式时,读取引脚的电平状态不确定;
  • 设置为上拉模式时,读取引脚的电平状态为高电平;
  • 设置为下拉模式时,读取的电平状态为低电平;
  • 设置为中继模式时,如果引脚配置为输入并且不被外部驱动,那么它可以令输入引脚保持上一种已知状态。
  • 对于硬件开漏引脚没有上拉、下拉和中继等模式配置,输入模式下,引脚悬空时读取的电平为低电平,接上拉后读取的电平为高电平。


4.   
LPC1100系列芯片的GPIO能否直接驱动5V器件?
A:不能,在使用到的GPIO数量较少时可选择三极管驱动,使用到的GPIO数量较多时需要使用专用驱动芯片。

5.   
GPIO高电平中断时,中断电压为多少?
A:1.59~1.65V即可产生中断,1.74V以上能较稳定进入中断。

6.   
GPIO使用双边沿中断时,GPIOxIEV寄存器应如何处理?
A:使用双边沿中断时,使用GPIOxIBE寄存器即可,GPIOxIEV寄存器配置无效。

7.   
芯片加密后,应如何解密?
A:可通过ISP方式对芯片进行擦除,操作步骤如下:
1)  短接P0.1引脚与GND;
2)  将UART0(P1.6、P1.7)通过RS-232电平转换后连接到PC机,注意要与PC机共地;
3)  给系统重新上电;
4)  使用K-Flash或Flash Magic工具软件进行擦除。

8.
   
SWD引脚配置为GPIO后不能正常仿真,应如何处理?
A:通过ISP方式对芯片进行擦除。

9.
   
芯片进入低功耗模式后不能正常仿真,应如何处理?
A:通过ISP方式对芯片进行擦除。

10.
  
低功耗模式下能否进行调试?
A:不能,进入低功耗模式后调试功能被禁止。

11.
  FlashMagic软件芯片选择中为何没有LPC1114
A:FlashMagic的版本太低,需更新软件版本。下载链接如下:

12.
  
使用FlashMagic下载程序时提示程序下载成功,为何脱机不运行?
A:可能存在以下原因:
  • FlashMagic的版本太低,需更新软件版本;
  • P0.1引脚与GND短接,复位时芯片进入ISP模式不执行用户程序。


13.
  
LPC1100系列ARM能否使用H-JTAG仿真或调试?
A:不能,目前已推出的LPC1100系列ARM只支持SWD模式。

14.
  
使用K-Flash软件烧写程序时为何提示四处校验错误
A:这属于正常现象。校验位是烧写程序时由编程算法进行计算的,若开发环境(如Keil)编译产生的Hex文件没有自动进行校验位填充,使用K-Flash进行校验时,从芯片读出的文件是已经填充校验和的,与编译产生的HEX文件进行比较会出现四处不一致的提示。
对于校验和自动填充实现方法请参考该网站上相关文档:

15.
  
CK100驱动是否支持Win7操作系统?
A:支持32位操作系统(包括XP、WIN7),暂不支持64位操作系统。

16.
  
怎样进行中断注册?
A:对于旧版本工程模板:首先在“vector_table.c”文件中进行函数声明,然后在“vector_cfg.h”文件中进行注册,详情可参考我司配套例程中带有中断的例程。
对于新版本工程模板:中断初始化完成后将中断服务函数名称定义为与“startup_LPC11xx.s”文件中的中断入口函数名相同即可。
17.  使用ADC测量电压时,数据会出现大幅度跳变,主要原因有哪些?
A:出现跳变问题主要有以下三个原因:
1)   软件方面:未做滤波处理(如多次采样取平均值);
2)   硬件方面:硬件电路本身未处理好,采样电压本身出现跳变;模拟地、数据地未作隔离处理,数字电路对模拟电路产生干扰。

18.
  
ADC的各通道为何出现相互干扰?
A:可能的原因如下:
1)  硬件电路本身几个通道之间相互干扰;
2)  ADC的通道引脚有悬空时,不悬空的引脚会对悬空的引脚产生干扰,悬空引脚不使用ADC功能时可将GPIO配置为非ADC功能,若必须使用ADC功能,建议将悬空的引脚接地。

19.  
UART的中断服务函数中为何没有清除中断标志?
A:读取寄存器U0IIR后即可清除中断标志。

20.
UART的通信波特率最大为多少?
A:LPC1100系列Cortex-M0微控制器串口的波特率按照理论计算可以达到50÷16 = 3.125Mbps,但由于RS-232芯片与PC机的限制,与上位机通信时波特率最高只能达到115200bps。不与PC机之间通信,直接两个MCU之间通信波特率可大于115200bps。

21.
UART奇偶校验位强制0/1校验如何理解?
A:强制0/1校验是指在UART通信过程中,数据的第九位不依赖数据位,强制输出0或者1。

22.
为何重新配置UART波特率不能成功?
A:重新配置波特率时,需要先关闭UART时钟。

23.
使用I2C读取PCF8563小时/天寄存器值,为何每次读出的数据是变化的?
A:PCF8563的小时/天/月/年等寄存器中存在一些保留位,读出数据会发生变化;将保留位屏蔽后数据是不变的。

24.  
为什么I2C正常工作时用手触摸SDA/SCL线会出现死机现象?
A:用手触摸SDA/SCL时会造成总线错误,属于非法的停止或起始条件,错误状态为0x00,在I2C中断服务函数中添加对0x00错误状态的处理即可,如程序清单1所示。
                                                                     程序清单1 I2C中断服务函数错误处理
  1. case0x00:
  2. LPC_I2C->CONCLR = 0x28;
  3. I2C_end = 0xff;
  4. break;
复制代码
25.  使用LPC11C14片上API时,为何程序有时会跑飞?
A:LPC11C12/14片上API使用0x1000 0050~0x100000B8范围空间的片内RAM,使用片上API时,用户应用程序不应使用该地址范围的RAM,应适当修改分散加载文件,避免使用该范围RAM。

26.  
为何WDT中断只能进一次?
A:要让程序能重新进入中断,需要在中断服务函数中重新使能并喂狗。

27.
开发Cortex-M0选择哪个版本的MDK?
A:MDK V4.01版本以上。

28.
  
SWD引脚能否不接外部上拉电阻?
A:由于SWD引脚默认内部上拉,外部使用时可不接外部上拉电阻。

29.
  
使用CK100/AK100调试,IRC提供时钟时为何UART发送全为乱码?
A:使用CK100进行仿真/下载时,使用IRC,需在仿真器配置“初始化宏”选项中“禁用宏文件”,如图2.1所示。
QQ截图20120729192214.jpg
2.1 禁用宏文件
芯片启动首先运行内部bootloader对IRC精度进行校准,使用初始化宏文件会跳过bootloader,即IRC未校准,导致UART发送乱码。

30.
  
LPC11C14是否存在唯一序列号?在哪个地址?
A:存在,可通过IAP函数读取,详情可查看用户手册《Flash接口与特性》章节。
回复

使用道具 举报

发表于 2012-10-11 11:56:10 | 显示全部楼层
好东西!龙哥有LPC1100系列的DEMO版嘛!

点评

有的,后面把资料上传上来  发表于 2012-10-11 11:59
回复 支持 反对

使用道具 举报

发表于 2013-4-18 03:11:35 | 显示全部楼层
好帖要顶,楼主的头像还是不错滴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|纬图虚拟仪器

GMT+8, 2024-12-31 01:03 , Processed in 3.252510 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表