廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 19897 個閱讀者
 
<<   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.019228 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言