⑴ 關於UCOSII的文件包含問題。
「ucosii.h中沒包含任何功能函數文件比如OS_TIME.C,」
頭文件怎麼能包含源文件呢?
相信剛學C語言的時候,你肯定看到過,從源文件到可執行文件,包括預處理、編譯、鏈接的過程。剛開始學C語言的時候,這些東西不必關注,因為那時我們寫的程序都只有一個源文件。你問這個問題,就要了解編譯、鏈接是怎麼回事了。
以最常見的VC里編譯普通可執行文件為例,編譯是以工程里的源文件為單位編譯的。每個源文件,編譯後都會生成一個.obj文件,全局變數、全局函數的定義都在這樣一個個的.obj文件里。比如你上面說的OSTimeDly函數,它的定義就會在OS_TIME.obj里。main.c包含了「ucosii.h」,而「卜賣ucosii.h」聲明了OSTimeDly函數,那麼在編譯main.c的時候(注意:編譯的時候,是以一個個單獨的源文件為單位、獨立編譯的),編譯器只需要知道有OSTimeDly這個函數就夠了。在鏈接的時候,鏈接器會從其他.obj里找OSTimeDly這個函數,找到了就成功了,型輪逗找不到,則會出現鏈接錯誤。注意,是鏈接錯誤,而不是編譯錯誤。
至於後面的那個文件,有可能是工程設置桐岩的結果,比如可以給整個工程設置預處理命令,提前解析下這些公共的數據類型。
⑵ 為什麼周立功的開發板ucos只能創建10個任務
那是他把那個在OS_CFG這個系統配置文件裡面的OS_LOWEST_PRIO 設置為10這樣,總共有0.1.2.3...共11個任務,但是系統空閑任務為優先順序11的任務,估計有統計任務,這樣,統計任務為第10個任務,這樣用戶只能用9個了,要是沒統計任務用戶可以用10個,
總說你去看看那個OS_LOWEST_PRIO 設置的值。要是63那麼他肯定能有64個任務的。
⑶ 怎麼在ARM 上移植ucos操作系統
1、編譯器我建議用IAR FOR ARM (原因有下面幾條 1、外面公司大部分用的都是IAR編譯搏粗彎器。2、IAR編宜速度快,而且生成的代碼質量比keil高,hex比keil小。3、調試功能不遜於keil)
2、至於這么下載到ARM板上,這個你要先把UCOS源代碼經過編譯器編譯,最好能做個測試程序(LED),編譯之後,0error 0 waring 。如果你用jlink 可以直接下載到ARM板子裡面。如果你是ISP下載的也行,不過啟動方式你要修改一基悶下(boot 0,boot 1)
3、看到凳漏你說你菜鳥,其實不然,任何高手都是從菜鳥蛻變過來的,期間要經過很多的痛苦。不知道你准備好吃苦沒。
4、下面說一下我的學習過程吧!1、在開始我也想學習UCOS,不過狀況和你差不錯。一開始我看到UCOS代碼那麼長,就怕了。但是我把源代碼都列印出來了,課上可下我就看源代碼(前提是你要對操作系統有一些了解,其次數據結構基本功要強,因為操作系統基本就是數據結構造出來的(說的有些誇張))2、UCOS源代碼看的差不多的時候,你可以到UCOS官網下載一個VC++6.0下移植的代碼,然後但不調試,觀看代碼的工作流程(這個很重要,幫助你了解工作原理)。等熟悉差不錯了。你可以到網上下載一個在ARM 中移植的代碼,單步調試觀看工作流程。3、在網上搜索一下UCOS在ARM中的移植步驟(網上移植基本都可以用,我就是從網上下載的移植文檔),按著移植文檔一步一步移植,等修改完了,接著調試,然後繼續調試,直到0 error 0 waring ,接著下載的板子中,看能不能實現預期的效果。如果不行,還是調試。
以上就是我的過程。希望能對你有用。視頻教程網上的 盧有亮 就不錯。你可以去網上找找。最後,我想給你說的是:「一定不要急,基礎打牢了,學什麼都很快的,COme on!!」
純手工打出來的,望採納!!
⑷ stm32 ucosII晶振配置
根據STM32晶元芹漏型號在下圖中輸入正確的宏定義及相應的啟動文件。指攜嫌逗爛
STM32F10X_LD STM32F101xx/STM32F102xx/STM32F103xx 16 ~ 32 Kbytes FLASH
STM32F10X_MD STM32F101xx/STM32F102xx/STM32F103xx 64 ~ 128 Kbytes FLASH
STM32F10X_HDSTM32F101xx/STM32F103xx 256 ~ 512 KbytesFLASH
STM32F10X_CLSTM32F105xx/STM32F107xx
⑸ ucosii的config和port怎麼添加的
Step2:使用STM32CubeMX快速配置1個LED閃爍的常式,板卡有4個LED,系統時鍾配置為72MHz,Systick我們用作UCOS的心跳,另外開啟一個定時器作為HAL庫的時基。詳細配置過程查看附件裡面的文檔;Step3:生成IAR工程,在其根目錄創建文件夾UCOSII,在
⑹ ucosii問題,情況如下
Keil4 STM32 ucosii,警告,
#223-D: function "OSMboxPost" declared implicitly
#223-D: function "OSMboxPend" declared implicitly
這個問題很簡單,你的os_cfg.h配置文件中,需要把這個開關打開,
#define OS_MBOX_EN 1 /* Enable (1) or Disable (0) code generation for MAILBOXES */
⑺ 單相電機的電容大小如何配置
首先電容電壓的選擇:
耐壓公式:U(電容)大於或等於1.5*U;
如AC220V的電機,通常使用400V或450V的電容器。
其次電容量的選擇:
單相運行電容公式:C=1950×I/U×cosφ(用一個電容,既是啟動電容又是者盯運行電容,電風扇、洗衣機等小容量肆蔽電動機常用)
啟動電容器容量公式 :C=3500*I/U*cosφ(用一個電容只是啟動時投入,正常運行時斷開,用轉換開關或離心開關切換。
雙值電容運轉電容容量公式 :C=1200*I/U*cosφ(用2個電容,一個負責運行,一個負責啟動)雙值電容起動電容容量公式 :C=(2~3)*C(運轉電容)
C:電容容量:I:電機額定電流,U:電動機額定電壓,cosφ:功率因數0.7。一般不用計算,按每100W配運行電容2~3μF,起動電容是運行電容的2~3倍。
電動機的電容選擇對電壓要求嚴格,一定要等於或大於於電動機額定電壓的1.5倍以上。額定電壓220V電源的,電容額定電壓不能低於400V。電容值有一定的寬泛性,大點小點都沒有關系,特別是啟動電容,可以在工作電容的2-6倍選取。
電容量也不能太大,雖然電容量大一點能讓電機轉速提高,扭矩增首雹和大,但如果選擇太大的電容會造成電機電流過大,發熱嚴重從而燒毀電機。比如原來4UF的電容可以加大到5UF,但不能加大到10UF,原則是不能超過額定電容的20%。
⑻ 我想在AVR上跑uCOS-ii嵌入式操作系統
你可以直接建一個工程啊,到時把所有文件加進去。
只要到時候修改氏悶譽一下UCOS代碼裡面底層的一些驅動就可以了。。。
你可以去OURAVR上找找別人修改好的,跑一下就什麼都知道了。
你可以全部放到一起啊,他是殲段分了很多個文件夾,那是為了找起來方便,你放到一起,調用就行了。。只要修改底層的代碼就可以了,多去ouravr上罩中看看吧,那裡真的有的啊。
⑼ ucos子任務在刪除時系統死機咋回事,重要一刪除子任務,系統就死機,
1、進入你的另一個操作系統,也就是你不想刪的那個操作系統。然後刪除另一個操作系統,直接就可以刪。
2、去掉多操作系統啟動菜單
解決該問題的方法很簡單,右鍵單擊「我的電腦」,選擇「屬性」,打開「系統屬性」對話框蘆雹歲,在「高級」標簽頁點擊陪睜「啟動和故障恢復設置」按鈕,取消「顯示操作系肆如統列表的時間」前面的「√」,即可取消啟動菜單。如果不知道哪個應該是正確的操作系統的話,可以使用記事本來直接編輯啟動菜單配置文件,首先打開記事本,選擇「文件」菜單,單擊「打開」,然後在文件名中寫入C:\\boot.ini,打開它,可以看到:
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS="Microsoft Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\\WINNT="Microsoft Windows 2000 Professional" /fastdetect
C:\\="Previous Operating System on C:"]
其中multi(0)disk(0)rdisk(0)partition(1)就是指的您第一塊硬碟第一個分區「partition(1)」就代表第一個分區也就是您的c盤,partition「partition(2)」就代表第二個分區也就是d盤。參照這個文件,找到刪除「partition(1)」或「partition(2)」即可使問題得到解決。