新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于STM32+ucos-II+DS18B20調(diào)試成功

基于STM32+ucos-II+DS18B20調(diào)試成功

作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
前幾天調(diào)試了一下DS18B20的程序,起初系統(tǒng)在裸奔的時候DS18B20可以很正常的讀取數(shù)據(jù)。由于項目前期設(shè)計時添加了ucos實時操作系統(tǒng)。原以為把裸奔的程序移植過來就可以使用。結(jié)果悲劇發(fā)生了……如果做過這方面的朋友一定知道。添加后,你會發(fā)現(xiàn)系統(tǒng)不跑了,徹底的死掉了。原因在何處?經(jīng)過一整天的查找,發(fā)現(xiàn)原來系統(tǒng)的時間片被占用了。導(dǎo)致ucos的ticks出現(xiàn)異常。

解決辦法:一種方法是:修改OS_CPU_SysTickInit(void)函數(shù),與delay函數(shù)進行兼容。在溫度傳感器延時的時候不影響操作系統(tǒng)的tick運行。這樣就可以解決問題了。

本文引用地址:http://2s4d.com/article/201611/317178.htm

還有一種方法就是,把18B20的延時定時器更換成TIM3或者是其他定時器。和系統(tǒng)的tick分開。即可解決。



關(guān)鍵詞: STM32ucos-IIDS18B2

評論


技術(shù)專區(qū)

關(guān)閉