Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
版主
|
[quote]S052L22H00
我想把它分成 S、052、L、22、H、00 數字的部份微float --> 除非有必要,別把數字當成 Float 來處理。 文字為char[/quote] 老實說我還是不很懂你的意思,因為收近來的都為 ASCII Code,所以文字與數字很好區別,只要是落於 0x30 ~ 0x39 之間 ASCII Code 就是數字,其它的就當做是文字吧!
發表於: 2009/5/20 10:09
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
資深會員
|
你有設接收buffer 把整字串資料先存起來吧
分的話也很簡單,6個資料項,就做6個步驟 文字部分比較單純,反正遇到 "非數字的ASCII code" 的資料就算是文字,把他們一一取出 遇到是 "數字的ASCII code" 就把他們合起來轉到另一個buffer,然後轉成數字 其實也不用自己寫啦 記得 C library裡面都有這些現成函數可call 翻翻手冊,應該都有寫範例
發表於: 2009/5/20 10:03
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
版主
|
參照:
printf( ) 是輸出的最基本函數,會寫 C 的人應該都很清楚這個 printf( )要怎樣使用。到訪間找一本基本的 C 語言書來看,我想裡面一定都會有 print( ) 函式的詳細使用介紹。 這函數不能不會。
發表於: 2009/5/20 10:03
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
新會員
|
To nicecookie
例如說 S052L22H00 我想把它分成 S、052、L、22、H、00 數字的部份微float 文字為char 感謝您的指教
發表於: 2009/5/20 9:54
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
資深會員
|
參照:
要不,你先把接收的資料內容寫出來 然後說一下要轉成甚麼樣的格式 再來討論好了 另外,你是用電腦傳送,PIC接收沒錯吧!
發表於: 2009/5/20 9:45
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
新會員
|
To Ryang:
我不太懂用 printf( ) 函數可以解決?? 想把接受到的資料做分析 之後利用分析好的資料觸發EMB做什麼樣的動作 感謝您的指教 To nicecookie 我是想知道有什麼方式可以做處理 Uart只是負責傳送接收 我只是不曉得該如何下手 感謝您的指教
發表於: 2009/5/20 9:33
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
版主
|
用 printf( ) 函數不就解決了你的混合問題。
發表於: 2009/5/20 9:13
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
資深會員
|
參照:
是數字是字串,都是寫程式的人自己知道自己轉換的吧 UART可沒辦法幫你分辨傳的是數字還是字串
發表於: 2009/5/20 0:56
|
|||
|
Re: 透過RS232與PC連接
|
||||
---|---|---|---|---|
資深會員
|
就直接讀就好了。
比如int的是16位元的數值的話,就是兩個byte,讀進來的兩個Byte。(MSB<<8)+LSB就是你要的數值。 比如簡單的話:今天UART送一組資料,以0x80為Hrader <Hrader><Length><Data....><CS> PC端程式先讀到Header,然後就讀下一個Byte,知道後面Data的長度,然後把一串資料讀進來,最後做Check Sum看看跟最後一筆CS的值有沒有一樣,有表示資料正確,不是表示資料錯誤。
發表於: 2009/5/19 21:22
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|