基于stm32的沖床自動出料分揀控制器設計
1.5 電磁閥驅動電路設計本文引用地址:http://www.104case.com/article/159546.htm
1.6 傳感器輸入信號調理電路
2 軟件系統設計
本系統在微控制器上內嵌μC/OS-III操作系統。
2.1 μC/OS-Ⅲ介紹
μC/OS-III是一種可移植的、可植入ROM的、可裁剪的、搶占式的、實時多任務操作系統內核。它是micrium公司推出的第三代RTOS,提供了別的RTOS所不具備的特點。比如支持無限個任務,可以在任務運行時測試其性能,直接發信號量或者消息給任務。
本文的軟件開發環境是IAR Embedded Workbench forARM 6.21。
2.2 系統移植
μC/OS-Ⅲ可以移植到很多處理器上,和處理器相關的代碼用匯編和C混合編程來實現。只要處理器滿足下面幾個條件。
·處理器必須要有ANSI C編譯器和可重入代碼
·處理器要支持中斷
·中斷可以被使能或者禁止操作
·處理器要有一個硬件堆棧
·處理器有足夠RAM給μC/OS-Ⅲ系統和任務存放變量和數據結構
·編譯器要支持32位數據類型,有些編譯器應該支持64位數據類型
·處理器有相關指令能夠保存堆棧指針和處理器相關的寄存器
本文采用stm32f103c8t6這款芯片滿足上述要求。
根據μC/OS-Ⅲ結構,只要修改和處理器相關的4個文件:os_cpu.h、os_cpu_a.asm、os_cpu_a.inc和os_cpu_c.co。
2.3 應用層程序架構設計
把軟件系統劃分成4個任務,一個任務即一個線程,每個任務內構建立信號量,任務和中斷間通訊可以通過信號量進行通訊,通過信號量,能把每個任務打包成基于信號量的簡單干凈API。
評論