找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1628|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

UCOSIII操作系統(tǒng)printf函數(shù)的疑問

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:646520 發(fā)表于 2022-11-28 16:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
大家好,小弟剛接觸操作系統(tǒng),今天在學(xué)習(xí)原子哥的UCOSIII信號量與互斥信號量(上)的時候,視頻舉了一個直接訪問共享內(nèi)存不加鎖的例子,具體的代碼的和現(xiàn)象見下圖。我不明白任務(wù)1的優(yōu)先級比任務(wù)2的優(yōu)先級高,且printf前沒有任務(wù)調(diào)度函數(shù),不應(yīng)該任務(wù)1的printf執(zhí)行完,到延時1s的時候才會發(fā)生調(diào)度嗎?為什么會出現(xiàn)這個現(xiàn)象。大佬們可以大致描述一下程序運行過程嗎?

捕獲.PNG (37.02 KB, 下載次數(shù): 54)

任務(wù)1

任務(wù)1

捕獲2.PNG (38.3 KB, 下載次數(shù): 55)

任務(wù)2

任務(wù)2

捕獲3.PNG (108.23 KB, 下載次數(shù): 55)

函數(shù)

函數(shù)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:883242 發(fā)表于 2022-11-29 04:24 | 只看該作者
任務(wù)1的printf確實執(zhí)行了,但是printf之前有delayms,這期間執(zhí)行任務(wù)2的memcpy把任務(wù)1的數(shù)據(jù)覆蓋掉了,所以你以為并沒有執(zhí)行。
回復(fù)

使用道具 舉報

板凳
ID:646520 發(fā)表于 2022-11-29 08:36 | 只看該作者
Hephaestus 發(fā)表于 2022-11-29 04:24
任務(wù)1的printf確實執(zhí)行了,但是printf之前有delayms,這期間執(zhí)行任務(wù)2的memcpy把任務(wù)1的數(shù)據(jù)覆蓋掉了,所以 ...

謝謝大佬,我明白了,我以為delay_ms()不會觸發(fā)任務(wù)切換,OSTimeDlyHMSM才會
回復(fù)

使用道具 舉報

地板
ID:883242 發(fā)表于 2022-11-29 21:19 | 只看該作者
最后一個夏天1 發(fā)表于 2022-11-29 08:36
謝謝大佬,我明白了,我以為delay_ms()不會觸發(fā)任務(wù)切換,OSTimeDlyHMSM才會

那種傻等式delay_ms()確實不會觸發(fā)任務(wù)調(diào)度,但是STM32上面不太可能用傻等,可能會調(diào)用systick中斷一類的方式,就很可能觸發(fā)任務(wù)調(diào)度了。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表