有沒有李朝青的《PC-1 單片計(jì)算機(jī)數(shù)據(jù)通信技術(shù)》這本書讀得好?PC機(jī)和PC機(jī)之間如何讀取和通訊串口數(shù)據(jù)?單片PC與PC之間的串行通信(加200分幫你中大獎(jiǎng)PC機(jī)及-3/PC通信技術(shù)參考這里,很全面。如何實(shí)現(xiàn)單片PC與PC之間的socket通信單片PC與PC之間的通信,直接通過串口連接(TXD1RXD2。
PC機(jī)及-3/機(jī)器數(shù)據(jù)通信技術(shù)李朝青內(nèi)容全面,值得一讀。我認(rèn)為這些書不錯(cuò):1。旬社單片計(jì)算機(jī)與C語言程序設(shè)計(jì)郭天祥2。AVR 單片計(jì)算機(jī)嵌入式系統(tǒng)原理及應(yīng)用實(shí)踐馬超不僅講了基本的硬件結(jié)構(gòu),還講了各種單片計(jì)算機(jī)開發(fā)中使用的通信。
PC機(jī)及單片機(jī)器通信技術(shù)參考這里,很全面。你想要的在MSDN。我知道,但是你怎么能給我呢?用KeilC51編程的一個(gè)例子,通信協(xié)議使用OMRON協(xié)議。簡(jiǎn)單解釋一下:每個(gè)命令或響應(yīng)都以字符@開頭,以0x2A0D結(jié)尾。開始字符@后面是您的協(xié)議定義的命令識(shí)別碼。比如0x03是什么意思?用ASCII碼表示每個(gè)十六進(jìn)制位,然后發(fā)送。這里是0x3033,然后是可能發(fā)送的數(shù)據(jù),然后是校驗(yàn)碼。它是從@開始的所有字節(jié)的XOR結(jié)果,然后使用ASCII表示單個(gè)十六進(jìn)制位。例如,計(jì)算結(jié)果是0x89,F(xiàn)CS代碼是0x3839。其余的請(qǐng)看評(píng)論。上位機(jī)用VB過兩天就給你。
在工業(yè)控制領(lǐng)域(如DCS系統(tǒng)),經(jīng)常會(huì)涉及到串行通信。為了實(shí)現(xiàn)微型計(jì)算機(jī)與單片 PC之間的數(shù)據(jù)交換,人們采用了各種方法來實(shí)現(xiàn)串行通信,如匯編語言或DOS下的C語言,但在Windows環(huán)境下存在一定的困難和不足。在Windows操作系統(tǒng)已經(jīng)占據(jù)主導(dǎo)地位的情況下,在Windows環(huán)境下開發(fā)串口通信技術(shù)顯得越來越重要(況且有些系統(tǒng)根本不支持DOS,比如Windows2000)。
目前用VC 開發(fā)串口通信通常有以下幾種方法:一種是使用WindowsAPI通信函數(shù);第二,使用VC _inp、_inpw、_inpd、_outp、_outpw、_outpd等標(biāo)準(zhǔn)通信函數(shù)。直接操作串口;三是使用MicrosoftVisualC 的通信控件(MSComm);第四個(gè)是第三方寫的通訊類。