發如今掛入oled液晶時候,在刷屏時候,出現系統重啓(非看門狗復位),好像是系統主動進行軟重啓。函數
懷疑是硬件問題,故移除了PCF8574T以及對應的主板上的4.7K上拉電阻(OLED上也有4.7K上拉電阻)。spa
且,OLED都用3.3V供電。.net
但問題依舊。指針
應該不是應用層的問題,由於移除write函數部分,系統正常。blog
網上發現一個文章使用ioctl來控制的。內存
http://blog.csdn.net/zhoufeng037521/article/details/6654539get
改成ioctl問題依舊.it
如今把單詞發送的數據包,改成16+1字節,沒有重啓。推斷是I2C單次數據包過大的問題。io
但問題依舊存在。變量
以前使用write後sleep,如今ioctl後也sleep了纔不會重啓
所以推斷爲,進入驅動內核後,ioctl只是拷貝了ioctl的數據,可是二級指針的數據,估計是在每一個數據包每次發送前拷貝的,此時若是應用層已經free內存了,就會出問題。
把內存換位靜態的變量,也會出現問題,不得其解。暫時只能靠添加延時解決問題。