打印

PIC单片机串口通信的问题

[复制链接]
2504|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tihty|  楼主 | 2014-12-24 11:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有两个一样的开发板,都烧入了同一个程序,
程序在main函数中从串口发出字符串"hello world"

结果,
A板串口完全正常,
B板串口有数据发出,但始终是16进制数"FF 00 00 00 00 00 00 ..."

一样的板子,一样的程序,怎么回事呢??
沙发
ayb_ice| | 2014-12-24 11:41 | 只看该作者
板子有问题

使用特权

评论回复
板凳
tihty|  楼主 | 2014-12-24 11:51 | 只看该作者
请问板子可能是什么地方的问题,我尝试更换过晶振,故障依旧存在

使用特权

评论回复
地板
martin| | 2014-12-24 17:06 | 只看该作者
没有示波器吗?

使用特权

评论回复
5
zydlyq| | 2014-12-24 17:19 | 只看该作者
哎,,这问题。。。

使用特权

评论回复
6
yewuyi| | 2014-12-25 08:27 | 只看该作者
1、把B板的MCU拆下来焊接到A板上,看看是否还能正常输出?
2、如果第一步不能实现,则首先检查代码。

使用特权

评论回复
7
tihty|  楼主 | 2014-12-25 09:10 | 只看该作者
yewuyi 发表于 2014-12-25 08:27
1、把B板的MCU拆下来焊接到A板上,看看是否还能正常输出?
2、如果第一步不能实现,则首先检查代码。 ...

MCU是QFN封装的,我这焊接技术,拆不下来:dizzy:

使用特权

评论回复
8
hnkf118| | 2014-12-25 11:32 | 只看该作者
这种封装要配风枪,买一台吧。现在这种工具不是很贵,100多点就可以买到。
应该是焊接问题。 这样的问题我遇到的多。

使用特权

评论回复
9
tihty|  楼主 | 2014-12-25 13:39 | 只看该作者
hnkf118 发表于 2014-12-25 11:32
这种封装要配风枪,买一台吧。现在这种工具不是很贵,100多点就可以买到。
应该是焊接问题。 这样的问题我 ...

你是说我的MCU焊接不好,所以出现串口发送异常的问题吗?
可是如果焊接不好,为什么我能够通过PIC Kit2把程序烧进去呢

风枪倒不是费用问题,主要是我不会使:dizzy:

使用特权

评论回复
10
tihty|  楼主 | 2014-12-25 13:42 | 只看该作者
在哪个位置没焊好,怎么找出来,好排除问题呢

使用特权

评论回复
11
yewuyi| | 2014-12-25 17:23 | 只看该作者
tihty 发表于 2014-12-25 09:10
MCU是QFN封装的,我这焊接技术,拆不下来

呵呵,求上天或者求工人。

不过,熟练的研发人员一般都应该都能弄下来。;P

使用特权

评论回复
12
hnkf118| | 2014-12-25 17:58 | 只看该作者
tihty 发表于 2014-12-25 13:39
你是说我的MCU焊接不好,所以出现串口发送异常的问题吗?
可是如果焊接不好,为什么我能够通过PIC Kit2把 ...

引脚不一样的。 另外你也要检查下外围的器件,如果有示波器的话,看看波形。

使用特权

评论回复
13
ningling_21| | 2014-12-25 23:08 | 只看该作者
查硬件电路...

使用特权

评论回复
14
tihty|  楼主 | 2014-12-26 00:13 | 只看该作者
今晚做了新的试验,有新的发现
两个板子烧入同一程序,程序是通过Timer0让LED一秒钟闪一次,结果
A板子的灯1秒钟闪一次,
B板子的灯大概3秒钟闪一次

于是我得到结论
B板上的MCU里时钟变慢了

可是为啥会这样呢

使用特权

评论回复
15
zhimagod| | 2014-12-26 08:05 | 只看该作者
用内部振荡器试试呗

使用特权

评论回复
16
sdzhwmr| | 2014-12-27 15:20 | 只看该作者
A板的晶振换到B上试试呢

使用特权

评论回复
17
tihty|  楼主 | 2014-12-29 17:49 | 只看该作者
hnkf118 发表于 2014-12-25 17:58
引脚不一样的。 另外你也要检查下外围的器件,如果有示波器的话,看看波形。 ...

从网上淘了一个二手的示波器回来,现在用示波器查哪呢?

使用特权

评论回复
18
tihty|  楼主 | 2015-1-4 10:50 | 只看该作者
真奇怪,我用示波器观察晶振的波形,根本没有波形,但是LED灯却一直闪,只是闪的频率比程序中设计的慢了

使用特权

评论回复
19
hyh19890917| | 2015-1-4 11:01 | 只看该作者
好好看看时钟模块的寄存器配置,看看是不是外部时钟启动失败后启动了内部时钟

使用特权

评论回复
20
yewuyi| | 2015-1-5 12:45 | 只看该作者
tihty 发表于 2015-1-4 10:50
真奇怪,我用示波器观察晶振的波形,根本没有波形,但是LED灯却一直闪,只是闪的频率比程序中设计的慢了 ...

新的PIC芯片可以支持在检测到外部振荡失败后启动内部的RC振荡工作,但这个可以由CONFIG的熔丝位来选择是否打开这项功能

使用特权

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

本版积分规则

7

主题

86

帖子

0

粉丝