广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 20554 个阅读者
 
<<   1   2   3  下页 >>(共 3 页)
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
ken0127
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[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 可以看到全部内容




献花 x0 回到顶端 [楼 主] From:未知地址 | Posted:2007-03-15 14:39 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

有什么问题? 都不会亮还是亮的位置有问题?
你应该做一些简单的自我测试.
  ; 自我测试显示 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 送来的资料吗?


献花 x0 回到顶端 [1 楼] From:台湾中华电信HINET | Posted:2007-03-15 16:52 |
ken0127
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

七段显示器的部份
有做过就是单纯的一直计数
是ok的

但我不知道要怎么确定pc端是否真的有送讯号过来


献花 x0 回到顶端 [2 楼] From:未知地址 | Posted:2007-03-15 17:29 |
ken0127
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

图 1. 电路图   
电路图



我刚测试了
对于我在pc端传送资料有反应
但七段显示器上面的出现是乱码......

我rs232的线是在3c买的,一公一母
老师说要跳线
也就是2 、3 脚对换
这是对的吗??
因为我们老师只会出一张嘴而已....

我附上我的电路图

另存新档回去是正常大小


[ 此文章被ken0127在2007-03-15 18:22重新编辑 ]


献花 x0 回到顶端 [3 楼] From:未知地址 | Posted:2007-03-15 17:51 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

一般的确只要 2, 3 (TX/RX) 脚对换就可以了. 其他的 DTR/DSR, RTS/CTS 没用到就不用管了.

七段显示器会显示乱码代表收到的资料大于 9, 或是七段显示有问题?
如果你测试过目前硬体七段显示数字都正常的话那就是收到的数字错了
你可以用回送的方式来证明是否资料接收正确
buf = SBUF;
SBUF = buf; // 回送资料

为什么要把 3, 7, 8 接在一起, 一般都是 7, 8 接在一起, 3 (TX) 独立???


献花 x0 回到顶端 [4 楼] From:台湾中华电信HINET | Posted:2007-03-15 18:23 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

刚刚看到线路图, 这跟你的 seven_seg 定义的刚好颠倒!
例如: 0 = 3Fh -> a, b, c, d, e, f 这几段亮才对, 你的 a - g, dot 应该是 p1.0 - p1.7 这个顺序


献花 x0 回到顶端 [5 楼] From:台湾中华电信HINET | Posted:2007-03-15 18:39 |
ken0127
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

图 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重新编辑 ]


献花 x0 回到顶端 [6 楼] From:未知地址 | Posted:2007-03-15 20:00 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

你用共阴还是共阳的七段显示器? 你应该先确定七段是否正常

回传的资料跟送的不一样最大的可能就是速率不同或是硬体出问题?
我看了一下 MAX232 的资料, pin 2 好像是接电容到地而已吧!?
pin 16 Vcc, pin 15 Gnd 应该有接吧!?


献花 x0 回到顶端 [7 楼] From:台湾中华电信HINET | Posted:2007-03-15 20:32 |
ken0127
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

因为我是把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写的跟大大说的一样…我来试试!


献花 x0 回到顶端 [8 楼] From:未知地址 | Posted:2007-03-15 20:40 |
cmovies
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x20
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

不过我觉得问题不一定是这个, 有可能是BaudRate不同的关系比较大.
你也可以由硬体主动送资料给PC来确定PC是否可以收到正确的资料.

while (1)
{
TI = 0;
SBUF = Ɔ' 看 PC 可不可以收到 Ɔ'
while (!TI) ;
delay10ms(100);
}


献花 x0 回到顶端 [9 楼] From:台湾中华电信HINET | Posted:2007-03-15 20:47 |

<<   1   2   3  下页 >>(共 3 页)
首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.013898 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言