例程基于Huawei官方開發的樣例進行修改,并保留華為官方的例程
上海靈動是國內專注于MCU產品與MCU應用方案的領先供應商,是中國工業及信息化部和上海市信息化辦公室認定的集成電路設計企業,同時也是上海市認定的高新技術企業。自2011年3月成立至今,靈動微電子已經成功完成數百余MCU產品的設計及推廣,靈動微電子目前已批量供貨的基于ARM Cortex-M0及Cortex-M3 內核的MCU產品包括:針對通用高性能市場的MM32F系列,針對超低功耗及安全應用的MM32L系列,具有多種無線連接功能的MM32W系列,電機驅動及控制專用的MM32SPIN系列,以及OTP型的MM32P系列等,以滿足客戶及市場多領域、多層次的豐富應用場景需求。
0.png (5.98 KB, 下載次數: 69)
下載附件
2018-11-6 16:15 上傳
實驗器材:
Mini Board Rev D1
實驗目的:
MM32L373PF搭載LiteOS運行雙事務
硬件資源:
1、LED1(PB5),LED2(PB4),LED3(PB3),LED4(PA15)
2、WK_UP(PA0),KEY3(PB10),KEY4(PB11)
實驗現象:
1、上電后,LED1、LED2以流水燈的方式運行
2、按下KEY3,LED5亮滅
3、按下KEY4,LED6亮滅
注意事項:
1,VBAT需要供電
單片機源程序如下:
- /*
- 本程序適配MM32 MiniBoard /MCU-MM32L373PF
- */
- #include "los_sys.h"
- #include "los_tick.h"
- #include "los_task.ph"
- #include "los_config.h"
- #include "los_bsp_led.h"
- #include "los_bsp_key.h"
- #include "los_bsp_uart.h"
- #include "los_inspect_entry.h"
- #include "los_demo_entry.h"
- #include <string.h>
- #include "delay.h"
- extern void FunctionInit(void);
- //----------------------- First event -------------------------------//
- static UINT32 g_uwboadTaskID;
- LITE_OS_SEC_TEXT VOID LOS_BoadExampleTskfunc(VOID)
- {
- while (1)
- {
- LOS_EvbLedControl(LOS_LED1, LED_ON);
- LOS_EvbLedControl(LOS_LED2, LED_OFF);
- LOS_EvbUartWriteStr("Board Test\n");
- LOS_TaskDelay(500);
- LOS_EvbLedControl(LOS_LED1, LED_OFF);
- LOS_EvbLedControl(LOS_LED2, LED_ON);
- LOS_TaskDelay(500);
- }
- }
- void LOS_BoadExampleEntry(void)
- {
- UINT32 uwRet;
- TSK_INIT_PARAM_S stTaskInitParam;
- (VOID)memset((void *)(&stTaskInitParam), 0, sizeof(TSK_INIT_PARAM_S));
- stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_BoadExampleTskfunc;
- stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE;
- stTaskInitParam.pcName = "BoardDemo";
- stTaskInitParam.usTaskPrio = 10;
- uwRet = LOS_TaskCreate(&g_uwboadTaskID, &stTaskInitParam);
- if (uwRet != LOS_OK)
- {
- return;
- }
- return;
- }
- //---------------------------Second event -------------------------//
- static UINT32 g_uwboadTaskID2;
- LITE_OS_SEC_TEXT VOID LOS_BoadKeyExampleTskfunc(VOID)
- {
- u8 t = 0;
- while (1)
- {
- t = KEY_Scan(0);
- switch(t)
- {
- case KEY3_PRES:
- LED3=!LED3;
- break;
- case KEY4_PRES:
- LED4=!LED4;
- break;
- default:
- LOS_TaskDelay(100);
- }
- }
- }
- void LOS_BoadKeyExampleEntry(void)
- {
- UINT32 uwRet;
- TSK_INIT_PARAM_S stTaskInitParam;
- (VOID)memset((void *)(&stTaskInitParam), 0, sizeof(TSK_INIT_PARAM_S));
- stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_BoadKeyExampleTskfunc;
- stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE;
- stTaskInitParam.pcName = "BoardDemo";
- stTaskInitParam.usTaskPrio = 10;
- uwRet = LOS_TaskCreate(&g_uwboadTaskID2, &stTaskInitParam);
- if (uwRet != LOS_OK)
- {
- return;
- }
- return;
- }
- /*****************************************************************************
- Function : main
- Description : Main function entry
- Input : None
- Output : None
- Return : None
- *****************************************************************************/
- LITE_OS_SEC_TEXT_INIT
- int main(void)
- {
- UINT32 uwRet;
-
- //-------------------- Initialization function ------------------------//
- delay_init();
- FunctionInit(); // Init the device on the dev baord
-
- uwRet = LOS_KernelInit(); // Init LiteOS kernel.(if OS loading finished return 0)
- if (uwRet != LOS_OK) {
- return LOS_NOK;
- }
-
- //---------------- Enable LiteOS system tick interrupt --------------//
- LOS_EnableTick();
- //------------------- Create Inspect task ---------------------------//
- //LOS_Inspect_Entry(); // If use example cancel comment
- LOS_BoadExampleEntry(); // First event
- LOS_BoadKeyExampleEntry(); // Second event
-
- //------------------------ Running Kernel --------------------------//
- LOS_Start();
-
- //-------------------- Your own function code ---------------------//
- //for (;;);
-
- }
復制代碼
所有資料51hei提供下載:
LiteOS_MM32Miniboard_L073_Lib_keil5.zip
(1.02 MB, 下載次數: 18)
2018-11-6 09:37 上傳
點擊文件名下載附件
M0 下載積分: 黑幣 -5
LiteOS_MM32Miniboard_L073_Reg_keil5.zip
(597.44 KB, 下載次數: 6)
2018-11-6 09:37 上傳
點擊文件名下載附件
M0 下載積分: 黑幣 -5
LiteOS_MM32MiniBoard_L373_Lib_Keil5.zip
(1.17 MB, 下載次數: 14)
2018-11-6 09:37 上傳
點擊文件名下載附件
M3 下載積分: 黑幣 -5
|