找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2385|回復: 4
打印 上一主題 下一主題
收起左側(cè)

求一個基于IAR STM8S的US級延時函數(shù)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:562798 發(fā)表于 2021-3-27 20:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
求一個基于 IAR  上面的STM8S 的100US的延時函數(shù)!我每次設(shè)置的都是很不準,應(yīng)該說是相當不準!誰有的話麻煩給我提供一個謝謝了!   
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:390416 發(fā)表于 2021-3-27 21:02 | 只看該作者
真正搞工程項目設(shè)計的,壓根就不去計算這種參數(shù)的。理由如下:
1、假設(shè)在同一個硬件上做測試,單片機CPU指令周期是一致的。那么 變量i、K,存放在data跟存放在XDATA,讀寫速度能一樣?精確計算有意義嗎?
2、假設(shè)都存放在data,延遲1ms只需要char類型的變量即可完成,但是,延遲100ms必須16位變量,那么執(zhí)行時間還能照著公式去套算?
3、假設(shè)上述條件都一樣,計算好的延遲時間是1ms并且誤差1%,打開中斷之后,延遲時間變成了5毫秒了。誤差500%了,精確計算有意義嗎?
4、假設(shè)上述條件不影響延遲時間,那么,編譯器呢?誰敢說編譯器不同的優(yōu)化等級不影響delay的延遲時間?
5、還有硬件不同的情況,就需要重新計算了。比如晶振頻率不同,CPU內(nèi)核速度不同,STC8H單片機就比STC15快了很多了比89系列快了十幾倍了。

所以,不要去精確的計算delay 延遲了多少時間
回復

使用道具 舉報

板凳
ID:562798 發(fā)表于 2021-3-28 14:20 | 只看該作者
人人學會單片機 發(fā)表于 2021-3-27 21:02
真正搞工程項目設(shè)計的,壓根就不去計算這種參數(shù)的。理由如下:
1、假設(shè)在同一個硬件上做測試,單片機CPU指 ...

多謝!不過我得到的時間誤差太大了沒法讓程序運行起來而已!
回復

使用道具 舉報

地板
ID:89515 發(fā)表于 2021-3-28 14:45 來自手機 | 只看該作者
stm8是三級流水線的核心吧?不過不涉及分支語句應(yīng)該影響不大。編寫一個常規(guī)的延時程序然后反匯編,查看內(nèi)層語句的執(zhí)行時間+每次循環(huán)判斷時間+進出函數(shù)時間,多次調(diào)試就可以提高精度。
回復

使用道具 舉報

5#
ID:592807 發(fā)表于 2021-3-29 08:31 | 只看該作者
donny123800 發(fā)表于 2021-3-28 14:20
多謝!不過我得到的時間誤差太大了沒法讓程序運行起來而已!

我也用STM8S,還沒加外部晶振那種,使用計時器確實不精確,但是對我有影響嗎?我又不做精確定時,原定5s的定時總是6秒多才反應(yīng),我把延時參數(shù)改小電5.5s也沒影響,功能沒問題就行了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表