打印
[ZLG-ARM]

周工及各位大侠:lpc2214是否有uart0得 bug?

[复制链接]
4374|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
alin_99|  楼主 | 2007-7-5 09:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用lpc2214开发现目,发现了似乎是硬件bug,开发环境keil uvision 3

1 用2214得eint2(p0.7)脚做中断,软仿真没问题,实际使用不能进入中断(硬件连接是通得),示波器中断电平正常,修改程序多次未果。
 后来用eint0(p0.16)脚,仿真及运行完全正常。

这个问题不知道如何解释,真得是硬件bug??

2 用uart0做串口通讯(fifo=8,条件115200 8 无 1), 下传8个数据用ulink监视发现数据下传到2214正常,原数据返回只有前面7个数据正常,最后一个总是不正常,进入正常使用后每次发送数据都不正常,但是出现错误是有规律得,如0xaa-》0xfa,  0x10-》0x0a。。后来使fifo=1,结果是一样得还是不正常,但是数据和前面错误不一样(ulink监视2214的数据是完全正常的)。  太怪了

不知道 大家是否碰到这样得问题,怎么解决?

相关帖子

沙发
alin_99|  楼主 | 2007-7-5 10:33 | 只看该作者

自顶一下

希望 有人 能够 提供帮助,或者 能提供 正确的 参考程序,谢谢各位浏览 本帖

使用特权

评论回复
板凳
汽车电子| | 2007-7-5 10:40 | 只看该作者

看看堪误手册吧,我网上有串口例子

使用特权

评论回复
地板
alin_99|  楼主 | 2007-7-5 11:02 | 只看该作者

谢谢楼上

使用特权

评论回复
5
alin_99|  楼主 | 2007-7-5 12:47 | 只看该作者

堪误手册上 没有 uart0啊 ,你的程序倒是找到了

使用特权

评论回复
6
avr32| | 2007-7-7 12:34 | 只看该作者

re

你怎么不怀疑串口软件的问题呢?我碰到了好几个软件有些是设置上的问题,有些软件就是做的不完善.

使用特权

评论回复
7
alin_99|  楼主 | 2007-7-7 13:17 | 只看该作者

哈哈

这个不是不能收到0x00的问题,何况我也试过了先打开超级终端,在开 助手.

收是没问题的,就是数据不对 

每次下传数据到 串口正常.但是上传接受的数据就不对了.

不知道各位  一般用什么串口调试软件啊 ???

使用特权

评论回复
8
alin_99|  楼主 | 2007-7-7 14:15 | 只看该作者

换用 汽车电子兄 的 串口通v3.22还是同样的问题,郁闷

使用特权

评论回复
9
alin_99|  楼主 | 2007-7-7 20:54 | 只看该作者

看来只能明天把uart1整出来试了。这样的芯片整死人

使用特权

评论回复
10
armecos| | 2007-7-7 22:16 | 只看该作者

最好调试一下,

    没有用过2214,我猜测很有可能是你的程序不正确。
    1、eint2是不是引脚复用的,其他引脚干扰了它,仔细查看eint2和eint0的区别。
    2、看样子是最后一个数据字节把前面的数据冲掉了,写入FIFO时是否判断FIFO满?
    不一定正确,仅供参考!

使用特权

评论回复
11
heloo| | 2007-7-7 23:37 | 只看该作者

怎么判断发送fifo满了,好像没有这个标志位提示

使用特权

评论回复
12
alin_99|  楼主 | 2007-7-8 08:54 | 只看该作者

回armecos

 1、eint2是引脚复用的,没其他引脚干扰了它,软仿真没问题,
eint0也是复用引脚啊,直接改成eint0没问题(现在 这些单片机基本每个脚都是复用的了)
2 写入的时候没满,写入前都要判断是否发送完,实验的时候我改得很简单的程序,还是不行

使用特权

评论回复
13
HQGBOY| | 2007-7-9 08:27 | 只看该作者

发送0X00发不出去.LPC2136芯片...

使用特权

评论回复
14
alin_99|  楼主 | 2007-7-9 14:30 | 只看该作者

楼上的问题看以前帖子是串口助手问题

说说我的问题把

1 用串口0和1都作过实验,  用fifo=8,  只开接受中断、.
 接受的数据主程序中返回,正常(仅仅是简单的测试程序)
2 用串口0.FIFO=14, 开启接受中断(包括cti中断)和错误中断,
  arm将 接受到的数据原样返回,正常.(也是测试程序,只用了串口0程序)

3 开了定时器,串口0(设置同2),外部中断0(上升沿触发,完成数据解码功能)
  程序设计为上电等待串口数据,收到数据返回14个0x00,返回正常.

(多中断开启,低优先级的中断进入前都家了ENABLE.DISABLE中断嵌套宏,可以中断嵌套)
a 进入正常的程序流程后.解码后的数据 用ulink监视是正确的,但是上传的数据不正常, 这是如果再次下传数据会出现 "rx线状态/错误"中断,真实奇怪,这个问题是不是传说中的  bug, 设置了外部中断的模式(模式和极性)会引起 外设时钟改变?????

b 不用ulink监视  也同样在正常流程中 上传数据出错..出错是重复有点规律的.

zlg的人都跑到哪里去了.  解释一下好吗???如果避免这个问题???

使用特权

评论回复
15
HQGBOY| | 2007-7-9 14:45 | 只看该作者

谢谢.看了一下以前的..

1 重起电脑了不行.
2 用超级终端也不行.

使用特权

评论回复
16
alin_99|  楼主 | 2007-7-9 15:22 | 只看该作者

问题解决,是 2214的bug啊

勘误表上虽然只写了EINT1 EINT2有bug
但是EINT0也有同样的bug

是由于对中断的模式 和 极性进行写操作是会影响到vpbdiv积存器,

解决办法
1 读出vpbdiv的直保存,将其写入0
2 设置好 中断的模式 和 极性
3 将保存直恢复到vpbdiv中.

这么多bug的芯片 还他吗的 卖出来 害人,
以后 再不用nxp了.换 st酸了

使用特权

评论回复
17
hqgboy| | 2007-7-10 09:59 | 只看该作者

真的是BUG???

使用特权

评论回复
18
alin_99|  楼主 | 2007-7-10 13:56 | 只看该作者

千真万确,太让我震惊了, 太多的bug了

使用特权

评论回复
19
hqGBoY| | 2007-7-11 08:46 | 只看该作者

产品买出去上千台了,现在新的也在用...

怎么办?我的看看他们的手册了...

使用特权

评论回复
20
zlgarm| | 2007-7-11 10:15 | 只看该作者

re

LPC2210串口的例子可以下载:
http://www.embedtools.com/download/downs.asp?ID=1539

勘误表中有说到解决方法,可在www.zlgmcu.com查找下载:
http://www.zlgmcu.com/philips/arm/lpc2212/LPC2212_2214_err.pdf


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

262

帖子

1

粉丝