第一串口要打開,第二向這個(gè)打開的串口發(fā)送數(shù)據(jù)
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)碭山,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
你完全可以在 intinputlen = MSComm1.InBufferCount 此句下一個(gè)斷點(diǎn)(將光標(biāo)移動(dòng)到此句前面 然后按F9) 當(dāng)程序運(yùn)行是 看是否停留在此句代碼 看接收事件是否工作
ChangeNotifierProvider、ChangeNotifier、Consumer的關(guān)系
1、ChangeNotifierProvider的父類ListenableProvider,ListenableProvider中實(shí)現(xiàn)了_startListening方法,_startListening主要是將Element的刷新方法添加到ChangeNotifier中的_listeners中
2、ListenableProvider將startListening傳入其父類InheritedProvider,InheritedProvider主要是創(chuàng)建delegate = _CreateInheritedProvider。這個(gè)delegate就是_CreateInheritedProvider中delegate.startListening中的delegate
1、ChangNotifier負(fù)責(zé)更新UI
ChangeNotifier中notifyListeners,通過(guò)遍歷_listeners,實(shí)現(xiàn)強(qiáng)制刷新UI
1、Consumer:包裹待刷新UI,在buildWithChild中將Provider.ofT(context)傳入builder方法
2、解析 Provider.ofT(context)
Provider.ofT(context)是獲取ChangeNotifier對(duì)象的方法
Provider.of中通過(guò)傳入的context,獲取父視圖為inheritedElement的對(duì)象
獲取到inheritedElement,通過(guò)inheritedElement.getValue的方式獲取ChangeNotifier對(duì)象
7、繼續(xù)查看inheritedElement?.value。通過(guò)斷點(diǎn)可以進(jìn)入_CreateInheritedProvider 類中g(shù)et Value方法。調(diào)用startListening將當(dāng)前Consumer包裹的element添加到Prorivder的_listeners數(shù)組中
通過(guò)調(diào)用notifyListeners()來(lái)刷新所有Consumer完整的Provider執(zhí)行流程大概就是這樣,流程圖如下