歡迎來到《圣博凱斯》變頻供水設(shè)備官網(wǎng)
精銳于專業(yè) / 卓然于品質(zhì) -- 20年專注于供水行業(yè),締造至臻品質(zhì) -- 服務(wù)熱線:0731-85783205 18932453205

powerbus通訊協(xié)議_powerbus原理圖

通過自己的理解,將modbus工作的全過程歸納為以下幾個圖。

希望你能更形象地從整體的角度理解整體的原理。

由于篇幅有限,圖中的字體很小,省略了一些程序的語句。 請結(jié)合freemodbus的源代碼進(jìn)行確認(rèn)。

串行端口相應(yīng)地設(shè)置有基于STM32的USART2。

另外,應(yīng)該有三個枚舉概率,有識別和區(qū)別。

1 ) emb事件類型、emb角色) )中,判斷事件。 事件是對完整幀(消息)的操作。

類型編號

{

EV_READY,//事件準(zhǔn)備階段,即還沒有接收到1幀的數(shù)據(jù)

EV_FRAME_RECEIVED,//1幀的數(shù)據(jù)接收結(jié)束

EV_EXECUTE,//此幀數(shù)據(jù)的具體執(zhí)行

發(fā)送EV_FRAME_SENT //幀

} emb事件類型;

2 ) eRcvState和eSndState,這兩個枚舉變量表示接收狀態(tài)、發(fā)送狀態(tài),每字節(jié)。

如果存在正在接收的字節(jié),則eRcvState=STATE_RX_RCV; 所有字節(jié)接收后,將再次進(jìn)入空閑狀態(tài)。

如果沒有正在接收的字節(jié),則eRcvState=STATE_RX_IDLE; 只有在接收空閑狀態(tài)下才能發(fā)送。 反之亦然。

他們的關(guān)系:當(dāng)一幀的所有的字節(jié)被接收、或者被發(fā)送完成之后, 就觸發(fā)了一個事件。從而,進(jìn)入了對事件的操作中。

有了大致的理解,下圖會更容易理解。

猜你喜歡

18932453205