您尚未
登入
注册
忘记密码
搜寻
赞助
赞助本站
数位公仔
纪念T恤
纪念马克杯
广告
刊登广告
广告价格
线上申请刊登
用雅币刊登
免费刊登
目前客户
简讯
简讯说明
购买金币
发送简讯
预约简讯
发送记录
好友通讯
罐头简讯
论命
数位论命馆
免费排盘工具
葫芦墩 优生造命
葫芦墩 八字命书
影音论命(葫芦墩)
影音占卜(葫芦墩)
购买金币
星座分析
孔明神数
周公解梦
星侨线上论命
娱乐
影 像 行 脚
数 位 造 型
数 位 画 廊
心 情 日 记
公 益 彩 券
送生日蛋糕
俄罗斯方块
四 川 省
猜 数 字
比 大 小
泡 泡 龙
许 愿 池
万 年 历
经 期 计 算
体 重 测 量
音 乐 点 播
卫 星 地 图
时间戳字幕
男女聊天室
求助
论坛守则
会员等级
会员权限
语法教学
常见问题
最新活动
打工赚雅币
首页
新版首页(全页)
传统首页(全页)
新版首页(选单)
传统首页(选单)
MyChat 数位男女
命理风水
15
星侨五术软体
4
葫芦墩命理网
5
命理问答
9
四柱八字
1
紫微斗数
1
姓名学
手面相
易经占卜
1
风水研讨
1
择日&三式
1
西洋占星
无视论塔罗牌
10
修行&武术
1
中医研讨
五术哈啦
1
电脑资讯
13
硬体讨论
5
超频 & 开箱
3
数位生活
2
PDA 讨论
手机讨论区
软体推荐
2
软体讨论
6
Apple 讨论
1
Unix-like
网路&防毒
2
程式设计
网站架设
4
电脑教学资源
生活休闲
14
休闲哈啦
7
感情世界
2
上班一族
5
国考&法律
7
生活医学
4
运动体育
1
单车讨论
1
钓鱼讨论
6
旅游讨论
4
天文观星
3
摄影分享
8
图片分享
4
数位影视
2
笑话集锦
3
兴趣嗜好
13
文学散文
7
绘图艺术
1
布袋戏
3
动漫画讨论
3
美食天地
6
理财专区
心理测验
1
汽、机车
3
宠物园地
模型&手工艺
4
花卉园艺
魔术方块
独轮车专区
电玩游戏
13
游戏欢乐包
4
CS讨论
8
Steam
3
MineCraft
2
东方Project
英雄联盟LOL
1
单机游戏
2
WebGame
3
线上游戏1
6
线上游戏2
5
电视游乐器
1
掌上型游戏
2
模拟器游戏
1
工商服务
6
虚拟城市
7
好康分享
新品贩售
二手拍卖
1
租屋&找屋
工商建议区
1
站务专区
10
最新活动
活动成果
数位造型
心情日记
个人图库
新人报到练习
论坛问题建议
1
荣会及电子报讨论
-最近版区-
-最近浏览-
»
程式设计
»
急!有关8051接收rs232传输的问题(keil c)
手机版
订阅
地图
繁体
您是第
21025
个阅读者
<<
1
2
3
下页
>>
(共 3 页)
可列印版
加为IE收藏
收藏主题
上一主题
|
下一主题
ken0127
级别:
小人物
x0
x0
分享:
▼
x
0
[C/C++][求助] 急!有关8051接收rs232传输的问题(keil c)
之前有上来问loader的问题
但现在卡在rs232传输的部份
程式主要的功能是由pc端传送数字
使七段显示器亮出所输入的数字
但这样子写…不知道是程式的错误还是vb的部分有误
电路应该是没有错
看了许多本书的接法都一样
在电脑的com1部份也将鲍率设为9600
八位元
请各位大大看看我是哪个地方有误
vb的程式码我贴在下面
Option Explicit
Dim ComOpen As Boolean
Private Sub CmdSend_Click()
'判断串列埠是否开启
If ComOpen = False Then
OpenCom
End If
'传输字串
MSComm1.Output = Chr(Text1.Text)
End Sub
..
访客只能看到部份内容,免费
加入会员
或由脸书
Google
可以看到全部内容
x
0
[楼 主]
From:未知地址 |
Posted:
2007-03-15 14:39 |
cmovies
级别:
小人物
x0
x20
分享:
▲
▼
有什么问题? 都不会亮还是亮的位置有问题?
你应该做一些简单的自我测试.
; 自我测试显示 0 - 9
for (i = 0; i < 10; i++)
{
P1 = seven_seg
;
delay10ms(100);
}
P1 = 0x00; // turn off 7 segment led
while(1)
...
接收显示的部分看起来没问题, 只要有收到资料应该会显示(除非资料大于 10)
VB 传送看起来也可以用, 只要 Text1 输入 0 - 9 应该就会显示
所以你应该检查一下真的有收到 PC 送来的资料吗?
x
0
[1 楼]
From:台湾中华电信HINET |
Posted:
2007-03-15 16:52 |
ken0127
级别:
小人物
x0
x0
分享:
▲
▼
七段显示器的部份
有做过就是单纯的一直计数
是ok的
但我不知道要怎么确定pc端是否真的有送讯号过来
x
0
[2 楼]
From:未知地址 |
Posted:
2007-03-15 17:29 |
ken0127
级别:
小人物
x0
x0
分享:
▲
▼
图 1.
电路图
我刚测试了
对于我在pc端传送资料有反应
但七段显示器上面的出现是乱码......
我rs232的线是在3c买的,一公一母
老师说要跳线
也就是2 、3 脚对换
这是对的吗??
因为我们老师只会出一张嘴而已....
我附上我的电路图
另存新档回去是正常大小
[ 此文章被ken0127在2007-03-15 18:22重新编辑 ]
x
0
[3 楼]
From:未知地址 |
Posted:
2007-03-15 17:51 |
cmovies
级别:
小人物
x0
x20
分享:
▲
▼
一般的确只要 2, 3 (TX/RX) 脚对换就可以了. 其他的 DTR/DSR, RTS/CTS 没用到就不用管了.
七段显示器会显示乱码代表收到的资料大于 9, 或是七段显示有问题?
如果你测试过目前硬体七段显示数字都正常的话那就是收到的数字错了
你可以用回送的方式来证明是否资料接收正确
buf = SBUF;
SBUF = buf; // 回送资料
为什么要把 3, 7, 8 接在一起, 一般都是 7, 8 接在一起, 3 (TX) 独立???
x
0
[4 楼]
From:台湾中华电信HINET |
Posted:
2007-03-15 18:23 |
cmovies
级别:
小人物
x0
x20
分享:
▲
▼
刚刚看到线路图, 这跟你的 seven_seg 定义的刚好颠倒!
例如: 0 = 3Fh -> a, b, c, d, e, f 这几段亮才对, 你的 a - g, dot 应该是 p1.0 - p1.7 这个顺序
x
0
[5 楼]
From:台湾中华电信HINET |
Posted:
2007-03-15 18:39 |
ken0127
级别:
小人物
x0
x0
分享:
▲
▼
图 1.
我的电路图上的七段的部份忘了改
接法是跟您说的一样
不过因为我是接port 1
所以我把电阻拆了
而rs232接的地方也已经将2、3 脚独立,7、8脚连接起来
而我把程式码加入了您说的这段
buf = SBUF;
SBUF = buf; // 回送资料
我用了站上大大po过一一篇文章
http://bbs-mychat.com/read.php?tid=408813&keyword=rs232
里面的RS232 通讯测试软体
来测试传输
结果是有回传回来
但是数值是不一样的
而且七段显示器也没有亮
若是慢慢按
则是没有回传东西
若是按快一点则会回传奇怪的数值
只有在压的非常快,连点
就会回传正常的数值了
但是七段显示器还是一样不会亮~
虽然我这样描述可能很怪…但他动作就是这样.....
另外,在pc端发送时
我将结束位元设为1位元
那这结束位元是会自动判断还是说需要程式来判断呢?
[ 此文章被ken0127在2007-03-15 20:15重新编辑 ]
x
0
[6 楼]
From:未知地址 |
Posted:
2007-03-15 20:00 |
cmovies
级别:
小人物
x0
x20
分享:
▲
▼
你用共阴还是共阳的七段显示器? 你应该先确定七段是否正常
回传的资料跟送的不一样最大的可能就是速率不同或是硬体出问题?
我看了一下 MAX232 的资料, pin 2 好像是接电容到地而已吧!?
pin 16 Vcc, pin 15 Gnd 应该有接吧!?
x
0
[7 楼]
From:台湾中华电信HINET |
Posted:
2007-03-15 20:32 |
ken0127
级别:
小人物
x0
x0
分享:
▲
▼
因为我是把MAX232的接法当作跟ICL232一样
书上把ICL232的PIN 2接电容后接VCC,
而PIN 15接地,PIN 16接VCC都有接
就跟我的电路图上的一样接法
刚查了一下…
http://203.84.199.31/search/cache?p=MAX232&ei=UTF-8&fr=fp-tab-web-t&vst=0&vs=blog.xuite.net&u=blog.xuite.net/thomas1112/mcu/4490296&w=max232&d=FEVGdRIeOR4K&icp=1&.intl=tw
这个BLOG写的跟大大说的一样…我来试试!
x
0
[8 楼]
From:未知地址 |
Posted:
2007-03-15 20:40 |
cmovies
级别:
小人物
x0
x20
分享:
▲
不过我觉得问题不一定是这个, 有可能是BaudRate不同的关系比较大.
你也可以由硬体主动送资料给PC来确定PC是否可以收到正确的资料.
while (1)
{
TI = 0;
SBUF = Ɔ' 看 PC 可不可以收到 Ɔ'
while (!TI) ;
delay10ms(100);
}
x
0
[9 楼]
From:台湾中华电信HINET |
Posted:
2007-03-15 20:47 |
<<
1
2
3
下页
>>
(共 3 页)
MyChat 数位男女
»
程式设计
Powered by
PHPWind
v1.3.6
Copyright © 2003-04
PHPWind
Processed in 0.073311 second(s),query:16 Gzip disabled
本站由
瀛睿律师事务所
担任常年法律顾问 |
免责声明
|
本网站已依台湾网站内容分级规定处理
|
连络我们
|
访客留言