智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4038|回复: 10
打印 上一主题 下一主题

自己编写的串口通信程序

[复制链接]

24

主题

114

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3252
威望
990
贡献
1908
兑换币
304
注册时间
2011-8-17
在线时间
177 小时
跳转到指定楼层
1#
发表于 2012-2-14 20:01:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这几天写了关于xs128的sci串口通信程序,结果经本人测试只有busclock在8M.或超频到16M时才可以接收到helloworld,其他超频到32M,64M都收不到数据,下面是我的程序(其中16M那个能收到数据,64M不能收到,另外里面有串口调试助手可能误认为是”病毒“没事的),大家帮忙分析下......


补充内容 (2012-12-4 10:04):
转眼一年过去了这篇帖子还在竟被下载了几百次,实际上两个程序都是正确的能用,只因当时懒省事没接5v电源用的是下载线上的5v,所以导致超频后接受不到数据,大家以后应定要确保硬件没问题再调程序,当时郁闷了好几天

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

0

主题

35

帖子

0

精华

高级会员

Rank: 4

积分
722
威望
428
贡献
178
兑换币
120
注册时间
2012-8-6
在线时间
58 小时
毕业学校
东山大学
11#
发表于 2012-10-20 23:32:09 | 只看该作者
{:soso_e142:}
回复 支持 反对

使用道具 举报

9

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
779
威望
397
贡献
280
兑换币
0
注册时间
2011-3-17
在线时间
52 小时
10#
发表于 2012-6-13 01:10:42 | 只看该作者
zjh3123629 发表于 2012-2-15 11:00
SCI0BD = (unsigned char)((128000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ /16 /*factor*/);
S ...

http://www.znczz.com/forum.php?mod=viewthread&tid=102056&extra  大神,能不能帮忙看看这个
回复 支持 反对

使用道具 举报

10

主题

50

帖子

0

精华

高级会员

Rank: 4

积分
620
威望
334
贡献
166
兑换币
0
注册时间
2012-4-12
在线时间
60 小时
毕业学校
成都大学
9#
发表于 2012-5-12 16:13:24 | 只看该作者
灰常感谢
回复 支持 反对

使用道具 举报

2

主题

41

帖子

0

精华

高级会员

Rank: 4

积分
788
威望
444
贡献
148
兑换币
6
注册时间
2011-9-21
在线时间
98 小时
8#
发表于 2012-4-1 00:47:55 | 只看该作者
thanku
回复 支持 反对

使用道具 举报

17

主题

80

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1680
威望
974
贡献
374
兑换币
121
注册时间
2012-3-22
在线时间
166 小时
毕业学校
沈阳化工大学
7#
发表于 2012-3-26 22:11:48 | 只看该作者
回复 支持 反对

使用道具 举报

1

主题

63

帖子

0

精华

高级会员

Rank: 4

积分
738
威望
457
贡献
149
兑换币
4
注册时间
2012-2-18
在线时间
66 小时
6#
发表于 2012-3-24 17:03:08 | 只看该作者
厉害
回复 支持 反对

使用道具 举报

30

主题

473

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7664

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
3608
贡献
1972
兑换币
1478
注册时间
2011-8-3
在线时间
1042 小时
5#
发表于 2012-2-15 16:36:22 | 只看该作者
3楼的 好强哈.....
回复 支持 反对

使用道具 举报

1

主题

95

帖子

0

精华

高级会员

Rank: 4

积分
932
QQ
威望
541
贡献
149
兑换币
12
注册时间
2011-1-23
在线时间
121 小时
4#
发表于 2012-2-15 14:04:07 | 只看该作者
好强,
回复 支持 反对

使用道具 举报

9

主题

222

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1693
QQ
威望
863
贡献
216
兑换币
0
注册时间
2011-3-5
在线时间
307 小时
3#
发表于 2012-2-15 11:00:55 | 只看该作者
SCI0BD = (unsigned char)((128000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ /16 /*factor*/);
SCIBD分为SCIBDH和SCIBDL,是一个16位的寄存器,你用unsigned char来强制转化,只能赋值给低8位即SCIBDL,而SCIBDH里面是空的,而波特率是13位的,SCIBDH里面也分到了几位,那你这个语句赋值肯定是会出错的,把(unsigned char)去了可能就出来了,你自己看看
我看了时钟和SCI初始化,时钟设置是应该正确的,SCI初始化你改改,再出不来就是你的发送程序有问题,但是既然你低频率能发的话,那发送程序应该是正确的,
所以应该是你把(unsigned char)去了就OK了,自己试试

有时候,出问题最好自己好好琢磨下,看下寄存器,xs128的模块还是比较好写的,网上资料也多,我觉得自己弄出来的和别人和你讲的,效果和成就感都差很多,呵呵
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 19:30 , Processed in 0.069226 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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