剛入公司4個月,正式接手了乙個專案,壓力很大,但是不能說no
在此記錄每天疑問以及所得所獲,算是積累以及加深記憶。入行萌新,也請各位大佬不吝賜教!
19.12.11
main.h
//串列埠的簡單實現
qbytearray requestdata;
qserialport *my_serialport;
void
serialport_init()
;//串列埠重新整理函式
main.cpp
void
serialport_init()
}}void
openserialport()
//串列埠配置、開啟
void
readserialport()
需要注意的是,在理想情況下readall()是可以完全接受下位機上傳的資料的,然而現場情況複雜多變,且readyread()訊號,只要有資料傳輸就會丟擲,導致一次readall()有可能導致上傳資料接收不全
我的方法是定時器延遲後一次性接收資料,沒有從根本上解決問題所在
//延時500ms讀取
txttime.
start()
;while
(txttime.
elapsed()
<
500)
processevents()
;requestdata = my_serialport-
>
readall()
;
現兩種解決方案(ps:其實好像是一種,我好呆啊…)
1、開乙個定時器,我們接收串列埠端發來的資料,這個時候會產生接收中斷,
在中斷裡面做三件事,⑴啟動定時器;⑵清除時間計數器;⑶接收資料存放到事先定義好的快取buffer
在定時器中斷裡面也做三件事:⑴累加時間計數器;⑵判斷時間計數器是否超過我們設定的閾值(超過,說明等待了一段時間沒有收到資料,判定資料接收完畢,具體時間是具體情況而定)⑶判定接收完畢資料之後,清除計數器,處理接收資料的buffer,清除buffer,關閉定時器
思路來自於
2、增加接收延時功能,將多次讀取的資料儲存在緩衝區,在延時結束後一次性讀取資料
connect
(serial,
signal
(readyread()
),this
,slot
(com_delay()
));connect
(timer,
signal
(timeout()
),this
,slot
(serialread()
));void
com_delay()
第乙個專案所學記錄
activity.this的context 返回當前activity的上下文,屬於activity activity 摧毀他就摧毀 jsonparser jsonparser new jsonparser jsonobject json jsonparser.makehttprequest url ...
第乙個專案
沒有搞懂自己領導的意思,不清楚這個專案到底如何推進 相關方沒有摸清楚,漏了好幾個,導致自己第一次開會前很忐忑,因為有一些人是第一次溝通 不敢開口問自己領導,這個專案的思路是什麼,一直是自己瞎琢磨。所以說,溝通很重要,真的很重要。不要做一些無用功,該說就說,該問就問。不輸錢不輸地的,怕什麼 專案沒有所...
2009 7 28 第乙個專案
在 有三天了,這個這兩天看了下文件,感覺有點模糊,不是很有把握的那種。對於那個管線系統的一些概念把握的還是很不准,心理沒底啊。那些東西不能含糊的,工作一定要認真。一絲不苟,多思考總結。上午去開了第乙個會,說是開會,其實就是幾個人在一起聊了一會兒。因為這個專案牽涉到幾個公司,所以另外兩家公司的人在 爭...