您尚未
登入
註冊
忘記密碼
搜尋
贊助
贊助本站
數位公仔
紀念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)
手機版
訂閱
地圖
簡體
您是第
21005
個閱讀者
<<
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.064027 second(s),query:16 Gzip disabled
本站由
瀛睿律師事務所
擔任常年法律顧問 |
免責聲明
|
本網站已依台灣網站內容分級規定處理
|
連絡我們
|
訪客留言