![]() |
發(fā)布時間: 2021-3-24 20:47
正文摘要:本帖最后由 Elilala 于 2021-3-25 10:00 編輯 使用PWM控制電機(jī)轉(zhuǎn)速,同時實時使用串口采集溫度。同時TR0=1,TR1=1時溫度采集出錯。將TR0=1注釋掉后正確,但是無法控制電機(jī)轉(zhuǎn)速,只能啟動。部分代碼如下:#include ... |
串口的發(fā)送 不能擁擠,比如9600波特率 發(fā)一個字節(jié)需要1ms 那么 連續(xù)兩次寫入SBUF 時間間隔必須大于1040us 。 可以看看我發(fā)的貼子, 串口發(fā)送不需要while 死等。提高CPU效率。 |
串口實時發(fā)送溫度值給上位機(jī),每一次發(fā)送之間沒有時間間隔,當(dāng)上位機(jī)通過串口下發(fā)指令時,串口被占用而產(chǎn)生錯誤 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
人人學(xué)會單片機(jī) 發(fā)表于 2021-3-24 21:41 更新了一下代碼。DS18B20讀到的數(shù)據(jù)通過串口發(fā)送給上位機(jī)。 |
將TMOD=0x21后能正確讀取溫度,并且可以控制風(fēng)扇轉(zhuǎn)速,可是溫度讀取會偶爾出現(xiàn)錯誤。 |
DS18B20是串口?你確定沒搞錯? |
采用串口助手控制電機(jī)轉(zhuǎn)速與采集溫度。 2代表啟動,3反轉(zhuǎn),0加速,1減速,4停止,5復(fù)位。 |
Powered by 單片機(jī)教程網(wǎng)