如何用状态机的思维编写I2C主机异步通讯程序?异步通信和同步通信如何联络

admin|
92

如何用状态机的思维编写I2C主机异步通讯程序所谓“状态机的思维”编写I2C异步通讯程序,方法就是把异步通讯的系统包装一个同步通讯接口出来就可以,在中断回调函数内对其状态分拣,异步通信和同步通信如何联络我理解题主问的是同步通讯和异步通讯系统之间如何互相调用,同步通讯和异步通讯的区别就是调用方在发送完请求后,这样就形成了“异步通讯”,状态自然引导,所以针对异步通讯。

如何用状态机的思维编写I2C主机异步通讯程序

所谓“状态机的思维”编写I2C异步通讯程序,关键是I2C每次中断后,都会有状态信息送出,在中断回调函数内对其状态分拣,这样就形成了“自然控制顺序流”。

开始时,状态归零,开中断,状态自然引导,直到状态结束,关闭中断,或重新启动。

这样就形成了“异步通讯”,两次中断的间隔,系统是休眠的或控制权交给其他任务处理。

这种异步通讯方式要比同步方式效率高太多。

如下图所示。看不清可以在网络上搜索。


异步通信和同步通信如何联络

我理解题主问的是同步通讯和异步通讯系统之间如何互相调用。方法就是把异步通讯的系统包装一个同步通讯接口出来就可以。详细解释在下方,

同步通讯和异步通讯的区别就是调用方在发送完请求后,是否等待返回结果。所以针对异步通讯,只要加一个阻塞来等待对方的返回结果,就变成了同步通讯。

在等待的时候如果是暂停请求进程,就是java里的bio,如果释放进程,等待回调唤起,就是nio