我用8051和電腦透過RS232做傳輸的動作,
是由電腦把一組64bits的資料分成八次傳送出去,
比如說現在的資料是
11110000就是十進位的F0,
但如果這樣傳出去的話就要分兩次傳,
而且傳到8051的資料也是ASCII CODE,
8051跟本看不懂,
所以請問各位有沒有辦法就是直接把起始位元 0
加在資料的最前面,
結束位元加在最後面 ( 0 11110000 1 )
就這樣直接送出不要再轉成ASCII CODE,
因為8051只懂這個格式,接收也是要這樣..........謝謝
--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46mspentun [0m]From: 61-216-185-125.HINET-IP.hinet.net
你想太多嚕~~起始位元跟停止位元是rs-232傳輸上的格式
你要考慮的是他們中間夾的值,而不是操心左右的位元要怎麼控制...
總歸一句:鮑率跟傳輸部模式指定好後,想傳什麼就傳吧!別想太多!!
還有,平常vb裡面的mscom控制元件只能傳0-127,128以上會被當成中文
換句話說,51的解析度會因vb而下降,只剩下一半而已
解決的方法很多,要vb傳出128以上的數值並不難...
--
[1;37m═╮ ╦╦═ ╦╦═ ╦═╩╦╠═══╯ ╭═╯══╬═══ ════╦════
[1;36m ╰ ╰╬═ ╰╬═ ╩══╩╰═══╯ ╔═╬╦═╗ ╭═══╬═══╮
[1;37m═╮ ═╯═ ═╯═ ╔══╗╠═══╯ ╭╦╯╚═╩╩═╝ ║╰═╮║╭═╯║
[1;33m ╰ ╭════╮ ╠══╣╠═══╯ ║ ═════ ══════
[1;37m ╭ ╠════╣ ╠══╣╠═══╯ ║ ╭║╰╮╰╮ ═╦══════
[1;36m═╯ ╰════╯ ╯ ╯╰═══╯ ╯ ╯╰══╯ ╰════╣ [m
--
[1;33m※ Origin: [36mYahoo!奇摩 大摩域 [37m<telnet://bbs.kimo.com.tw> [m
[1;35m◆ From: [1;32m61.216.65.150 [m
※ 引述《SIMULI...@bbs.kimo.com.tw (大三程式設計師)》之銘言:
> ※ 引述《spent...@bbs.mgt.ncu.edu.tw (夜裡發光的)》之銘言:
> > 我用8051和電腦透過RS232做傳輸的動作,
> > 是由電腦把一組64bits的資料分成八次傳送出去,
> > 比如說現在的資料是
> > 11110000就是十進位的F0,
> > 但如果這樣傳出去的話就要分兩次傳,
> > 而且傳到8051的資料也是ASCII CODE,
> > 8051跟本看不懂,
> > 所以請問各位有沒有辦法就是直接把起始位元 0
> > 加在資料的最前面,
> > 結束位元加在最後面 ( 0 11110000 1 )
> > 就這樣直接送出不要再轉成ASCII CODE,
> > 因為8051只懂這個格式,接收也是要這樣..........謝謝
> 你想太多嚕~~起始位元跟停止位元是rs-232傳輸上的格式
> 你要考慮的是他們中間夾的值,而不是操心左右的位元要怎麼控制...
> 總歸一句:鮑率跟傳輸部模式指定好後,想傳什麼就傳吧!別想太多!!
> 還有,平常vb裡面的mscom控制元件只能傳0-127,128以上會被當成中文
> 換句話說,51的解析度會因vb而下降,只剩下一半而已
> 解決的方法很多,要vb傳出128以上的數值並不難...
--
[1;32m※ Origin: [33m交大資工鳳凰城資訊站 [37m<bbs.csie.nctu.edu.tw> [m
[1;31m◆ From: [36mu196-167.u203-203.giga.net.tw [m