廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 25334 個閱讀者
 
<<   1   2   3   4   5  下頁 >>(共 6 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
ken0127
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[Basic][求助] 如何用RS232傳送HEX檔?
這是小弟的程式碼
是從網路上抓下來的
可以傳送一個字元是OK的
但我要傳送的是很大一串HEX檔的內容
卻不能傳?
因為我用v855617所發表的

內的RS232 通訊測試軟體
裡面使用「傳送16進制字串,使用「,」分隔」
卻可以
我把HEX檔內每個用都用豆號來分隔
我在8051接收端內有判別當傳送完畢會清除P1
而P1也確實的被清除了
但這個程式的缺點是沒辦法傳送太多字
但HEX檔偏偏又是 ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:未知地址 | Posted:2007-03-20 22:42 |
cmovies
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x20
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

Private Sub SendFile(ByVal HexFileName As String)
Dim HexBuffer() As Byte
Dim OutBuffer() As Byte
Dim HexLength As Long
Dim off As Long, cnt As Long, i As Integer

On Error GoTo errHandler

Open HexFileName For Binary As #1
  HexLength = LOF(1)
  ReDim HexBuffer(0 To HexLength - 1)
  Get #1, , HexBuffer()
Close #1

off = 0
Do While off < HexLength
  cnt = HexLength - off
  If cnt = 0 Then Exit Do
  If cnt > 32 Then cnt = 32
  ReDim OutBuffer(cnt - 1)
  For i = 0 To cnt - 1
    OutBuffer(i) = HexBuffer(off + i)
  Next i
  MSComm1.Output = OutBuffer
  Do While MSComm1.OutBufferCount > 0
    DoEvents
  Loop
  off = off + cnt
Loop

errHandler:
End Sub

Private Sub CmdSend_Click()
'判斷串列埠是否開啟
If ComOpen = False Then
  OpenCom
End If
'傳輸字串
SendFile(Text1.Text) ' Text1.Text1 = HEX 檔名
End Sub


獻花 x0 回到頂端 [1 樓] From:臺灣中華HiNet | Posted:2007-03-21 03:03 |
ken0127
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

請問大大這個程式是直接將檔案傳送過去的嗎?
也就是直接傳送hex到8051的囉?
那…Private Sub SendFile(ByVal HexFileName As String)
這一行的那個控制項在哪....不好意思…vb不太行..


獻花 x0 回到頂端 [2 樓] From:未知地址 | Posted:2007-03-21 21:35 |
cmovies
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x20
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

SendFile 是副程式, 由你的 CmdSend 的 OnClick 中呼叫, 並把 Text1 當成檔名輸入

Private Sub CmdSend_Click()
'判斷串列埠是否開啟
If ComOpen = False Then
OpenCom
End If
'傳輸字串
SendFile(Text1.Text) ' Text1.Text1 = HEX 檔名
End Sub


獻花 x0 回到頂端 [3 樓] From:臺灣中華電信HINET | Posted:2007-03-21 22:35 |
ken0127
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

這是用winsock的嗎?
我要如何把檔案叫到裡面然後傳送出去呢?

剛剛我用另一個測試的
只是讓P1亮然後暗
HEX檔非常短
來試我的loader
我是讓SRAM在位址0開始
也就是之後跳到0X0000開始
但您說在傳送完之後
將EA接地,然後RESET
但在RESET之後他沒有跳到SRAM的樣子
只是單純的將8051 RESET而已
我是用ICE模擬的


獻花 x0 回到頂端 [4 樓] From:未知地址 | Posted:2007-03-21 23:28 |
cmovies
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x20
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

SendFile 做的就是讀檔然後透過 MSComm1(RS232) 來傳送給 8051. 為何你覺得是 WinSock???

你有將 PSEN 接到 SRAM 的 OE 嗎?
不過有 ICE 在的話, 不確定按 RESET 會怎麼動. 這跟 ICE 的硬體設計有關吧!?

有些 ICE 在模擬前就需要設定用的是 80C31(外部ROM) 或 87C51(內部Flash).


獻花 x0 回到頂端 [5 樓] From:臺灣中華電信HINET | Posted:2007-03-22 00:13 |
ken0127
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

因為我看到好像winsock也是可以傳輸檔案的...
但對vb不了解,所以提出來問
那我只要將我的hex放在跟vb執行檔同一個目錄底下就會自動讀取檔案了嗎?

我有將psen與rd腳and後接到sram的oe腳
關於您說的模擬前設定的那個
有設定一個是P0跟P2是Port mode或是Bus mode
Port mode:All of the program memory access are from ON-Chip program memory
Bus mode:All or PART of the program memory access are from EXTERNAL memory

那我是否應該設為Bus mode呢?


獻花 x0 回到頂端 [6 樓] From:未知地址 | Posted:2007-03-22 00:41 |
cmovies
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x20
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

你只要輸入有路徑的檔名, 放哪裡都可以. 例如: C:\TEST.HEX
你可以放一個 File Dialog 到你的 Form. 然後用這個 File Dialog 去選擇檔案比較方便!

看起來應該用 Bus Mode, 但可不可以用還要看你的 ICE 是否真的有支援外部 ROM.
因為有些ICE還有 Memory Map 的功能. 讓ICE內部的SRAM對應到外部ROM.
還有 EA 腳是否真的對你的ICE有效, 這就只能試看看才知道.


獻花 x0 回到頂端 [7 樓] From:臺灣中華電信HINET | Posted:2007-03-22 00:57 |
ken0127
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter ▲ ▼ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

剛剛將路徑指定上去
SendFile (C:\WORK.Hex) ' Text1.Text1 = HEX 檔名

結果顯示語法錯誤
我打錯了?


獻花 x0 回到頂端 [8 樓] From:未知地址 | Posted:2007-03-22 01:12 |
cmovies
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x20
分享: 轉寄此文章 Facebook Plurk Twitter ▲ 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

SendFile("C:\WORK.Hex")


獻花 x0 回到頂端 [9 樓] From:臺灣中華電信HINET | Posted:2007-03-22 01:17 |

<<   1   2   3   4   5  下頁 >>(共 6 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.021119 second(s),query:5 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言