|
本帖最后由 yzwzfyz 于 2021-9-27 16:44 編輯
1、子串口接收數(shù)據(jù)和發(fā)送數(shù)據(jù)可直接用串口發(fā)送接收庫函數(shù)來發(fā)送數(shù)據(jù)嗎?
答:不僅與硬件接線有關(guān),還必須采用針對SP2349芯片寫的收發(fā)函數(shù)。普通的不行,因為三個外設(shè)的數(shù)據(jù)需要組合。
2、關(guān)于地址問題,要用指令先是要使得兩個地址都為1,后面判斷是那個子串口的數(shù)據(jù)也要用地址,這個是怎樣一個順序?
答:自己根據(jù)實際需來定。這里是最復(fù)雜的地方。
3、接收數(shù)據(jù)用中斷,發(fā)送數(shù)據(jù)是不是也用中斷好些?
答:當(dāng)然用中斷處理好,效率高。
4,說是提供驅(qū)動函數(shù),網(wǎng)頁打不開,這個驅(qū)動該怎么寫,芯片怎么配置,有沒有好的思路分享下?
答:只能根據(jù)手冊給出的規(guī)則來寫。不建議新手采用SP2349芯片。理由如下:
1、波特率:CPU是1個串口,SP2349芯片是3個串口面對3個外設(shè)進(jìn)行通訊。
手冊案例中:是按字節(jié)輪切各通道的數(shù)據(jù)。如果CPU是以9600的波特率輪發(fā)數(shù)據(jù),哪么對應(yīng)的三個外設(shè)采用的波特率是多少呢?初學(xué)者不易理解。
2、通道數(shù)據(jù)的切換:SP2349是用二根地址線(可選擇4個,用了3個,另1個作為輪換周期的結(jié)束標(biāo)記了)選擇通訊對象的。地址在何時切換呢?
手冊中的時序:是每發(fā)一個字節(jié)要換一個通道。所以,這時的發(fā)送數(shù)據(jù)是三個通道輪流抓取的?CPU端這樣的發(fā)送函數(shù),初學(xué)者不易理解。CPU如何處理接收的數(shù)據(jù)呢,就更難理解了。
3、實際上,通道的選擇是有地址線決定的。如果按幀切換地址,初學(xué)都極易理解,函數(shù)也通用。不過三個外設(shè),數(shù)據(jù)交換有發(fā)生在同一時刻怎么辦,外設(shè)發(fā)送數(shù)據(jù)的時間是不是聽你調(diào)度?收發(fā)時機(jī)不同,方案不同。初學(xué)者不易掌握。
|
|