久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5556|回復(fù): 6
收起左側(cè)

C語言時鐘頻率MAIN_Fosc == 12000000L 表示的是什么意思呀,求助各位大神

[復(fù)制鏈接]
ID:894870 發(fā)表于 2021-4-3 21:00 | 顯示全部樓層 |閱讀模式
void  delay_ms(uchar ms)
{
#if MAIN_Fosc == 12000000L
    unsigned char i, j;
    do
    {
        i = 2;
        j = 239;
        do
        {
            while (--j);
        }
        while (--i);
    }
    while(--ms);


問題:MAIN_Fosc == 12000000L  表示的是什么意思呀,是12MHz???[size=10.6667px]后面的程序是自動生成的還是自己寫出來的呀??


回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2021-4-3 22:13 | 顯示全部樓層
表示 這些參數(shù)只適合12000000晶振。不過,你研究這種死等延遲是沒有意義的。

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

所以,不要去精確的計(jì)算delay 延遲了多少時間,畢竟單片機(jī)的運(yùn)行情況有很多變數(shù)。學(xué)會提高CPU的代碼執(zhí)行效率,是很有必要的!
“什么是單片機(jī)?咱玩的就是時間!”
回復(fù)

使用道具 舉報(bào)

ID:584814 發(fā)表于 2021-4-4 10:48 | 顯示全部樓層
#if MAIN_Fosc == 12000000L
就是說滿足這個條件以下語句生效直到下一個如#ENDIF的止
按這個程序的寫法程序開頭一般會定義MAIN_Fosc的值并且備注有多個以選擇不同值以選擇相關(guān)代碼
12000000L一般指12M主頻(晶振)在延時中如樓上所說也就是供參考的東東而且延時一般在上下限內(nèi)就OK
回復(fù)

使用道具 舉報(bào)

ID:302703 發(fā)表于 2021-4-4 15:27 | 顯示全部樓層
MAIN_Fosc == 12000000L是判斷當(dāng)前系統(tǒng)時鐘主頻是不是12M主頻(晶振),L表示12000000是一個無符號long整形數(shù)據(jù)
回復(fù)

使用道具 舉報(bào)

ID:894870 發(fā)表于 2021-4-4 21:38 | 顯示全部樓層
人人學(xué)會單片機(jī) 發(fā)表于 2021-4-3 22:13
表示 這些參數(shù)只適合12000000晶振。不過,你研究這種死等延遲是沒有意義的。

真正搞工程項(xiàng)目設(shè)計(jì)的,壓 ...

謝謝呀
回復(fù)

使用道具 舉報(bào)

ID:894870 發(fā)表于 2021-4-4 21:40 | 顯示全部樓層
醉逍遙 發(fā)表于 2021-4-4 15:27
MAIN_Fosc == 12000000L是判斷當(dāng)前系統(tǒng)時鐘主頻是不是12M主頻(晶振),L表示12000000是一個無符號long整形數(shù) ...

懂了,謝謝
回復(fù)

使用道具 舉報(bào)

ID:894870 發(fā)表于 2021-4-4 21:42 | 顯示全部樓層
man1234567 發(fā)表于 2021-4-4 10:48
#if MAIN_Fosc == 12000000L
就是說滿足這個條件以下語句生效直到下一個如#ENDIF的止
按這個程序的寫法程 ...

好的
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 区一区二区三在线观看 | 男人的天堂avav | 中文字幕一区二区不卡 | 国产精品一区在线观看 | 99久久精品国产麻豆演员表 | 在线中文字幕视频 | 亚洲一区三区在线观看 | 美女在线观看国产 | 久久不卡 | 国产三级精品三级在线观看四季网 | 国产成人免费在线观看 | 成人午夜精品 | 99免费精品视频 | 青青伊人久久 | 欧美一级做性受免费大片免费 | www.久草 | 久久国产精品99久久久久久丝袜 | 99在线国产| 午夜码电影 | 国产午夜精品一区二区三区四区 | 国产一区二区在线免费观看 | 日韩电影中文字幕在线观看 | 色视频在线播放 | 超碰国产在线 | 久久不卡| 日韩一区二区三区视频在线播放 | 日韩成人国产 | 久久久免费毛片 | 91在线综合| 男女午夜免费视频 | www国产亚洲精品 | 午夜羞羞| h片在线看 | 亚洲精视频 | 中文字幕久久久 | 男女羞羞在线观看 | 久久久国产网站 | 亚洲精品视频在线 | 91一区二区三区在线观看 | 中文字幕日本一区二区 | 国产一区二区美女 |