標(biāo)題:
STM32F407和F103 華為liteos源碼
[打印本頁]
作者:
flysisteryu
時間:
2017-5-3 20:57
標(biāo)題:
STM32F407和F103 華為liteos源碼
STM32F407和F103 華為liteos源碼,可以運行基本功能。在此基礎(chǔ)上進(jìn)行修改。
0.png
(55.88 KB, 下載次數(shù): 142)
下載附件
2017-5-3 21:45 上傳
實驗器材:
MiniSTM32F103開發(fā)板V3版本
實驗?zāi)康?
學(xué)習(xí)GPIO作為輸出的使用
硬件資源:
1,DS0(連接在PA8)
2,DS1(連接在PD2)
實驗現(xiàn)象:
本實驗通過代碼控制開發(fā)板上的兩個LED:DS0和DS1交替閃爍,實現(xiàn)類似跑馬燈的效果。
注意事項:
無.
stm32單片機源程序:
#include "main.h"
UINT32 g_TestTskHandle;
void hardware_init(void)
{
delay_init(); //延時函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200); //初始化串口波特率115200
LED_Init(); //初始化LED
OLED_Init(); //初始化OLED
OLED_Clear();
EXIT_KEY_Init();
LOS_HwiCreate(7,0,0,EXTI1_IRQHandler,NULL);//創(chuàng)建中斷
LOS_HwiCreate(8,0,0,EXTI2_IRQHandler,NULL);//創(chuàng)建中斷
LOS_HwiCreate(9,0,0,EXTI3_IRQHandler,NULL);//創(chuàng)建中斷
}
VOID task1(void)
{
UINT32 uwRet = LOS_OK;
UINT32 count=0;
while(1)
{
count++;
printf("This is task 1,count is %d\r\n",count);
LED0=~LED0;
uwRet = LOS_TaskDelay(1000);
if(uwRet !=LOS_OK)
return;
}
}
UINT32 creat_task1(void)
{
UINT32 uwRet = LOS_OK;
TSK_INIT_PARAM_S task_init_param;
task_init_param.usTaskPrio = 3;
task_init_param.pcName = "task1";
task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)task1;
task_init_param.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
task_init_param.uwResved = LOS_TASK_STATUS_DETACHED;
uwRet = LOS_TaskCreate(&g_TestTskHandle,&task_init_param);
if(uwRet !=LOS_OK)
{
return uwRet;
}
return uwRet;
}
VOID task2(void)
{
UINT32 uwRet = LOS_OK;
UINT32 count=0;
while(1)
{
count++;
printf("This is task 2,count is %d\r\n",count);
LED1=~LED1;
uwRet = LOS_TaskDelay(1000);
if(uwRet !=LOS_OK)
return;
}
}
UINT32 creat_task2(void)
{
UINT32 uwRet = LOS_OK;
TSK_INIT_PARAM_S task_init_param;
task_init_param.usTaskPrio = 5;
task_init_param.pcName = "task2";
task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)task2;
task_init_param.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
task_init_param.uwResved = LOS_TASK_STATUS_DETACHED;
uwRet = LOS_TaskCreate(&g_TestTskHandle,&task_init_param);
if(uwRet !=LOS_OK)
{
return uwRet;
}
return uwRet;
}
VOID task3(void)
{
UINT32 uwRet = LOS_OK;
UINT32 count=100;
u8 t;
while(1)
{
OLED_Clear();
OLED_ShowCHinese(0,0,0);//中
OLED_ShowCHinese(18,0,1);//景
OLED_ShowCHinese(36,0,2);//園
OLED_ShowCHinese(54,0,3);//電
OLED_ShowCHinese(72,0,4);//子
OLED_ShowCHinese(90,0,5);//科
OLED_ShowCHinese(108,0,6);//技
OLED_ShowString(0,3,"1.3' OLED TEST");
OLED_ShowString(0,6,"ASCII:");
OLED_ShowString(63,6,"CODE:");
OLED_ShowChar(48,6,t);//顯示ASCII字符
t++;
if(t>'~')t=' ';
OLED_ShowNum(103,6,t,3,16);//顯示ASCII字符的碼值
//delay_ms(100);
/*OLED_Clear();
delay_ms(8000);
OLED_DrawBMP(0,0,128,8,BMP1); //圖片顯示(圖片顯示慎用,生成的字表較大,會占用較多空間,F(xiàn)LASH空間8K以下慎用)
delay_ms(8000);
OLED_DrawBMP(0,0,128,8,BMP2);
delay_ms(8000);*/
printf("This is task 3,count is %d\r\n",count);
uwRet = LOS_TaskDelay(100);
if(uwRet !=LOS_OK)
return;
}
}
UINT32 creat_task3(void)
{
UINT32 uwRet = LOS_OK;
TSK_INIT_PARAM_S task_init_param;
task_init_param.usTaskPrio = 9;
task_init_param.pcName = "task3";
task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)task3;
task_init_param.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
task_init_param.uwResved = LOS_TASK_STATUS_DETACHED;
uwRet = LOS_TaskCreate(&g_TestTskHandle,&task_init_param);
if(uwRet !=LOS_OK)
{
return uwRet;
}
return uwRet;
}
UINT32 osAppInit(void)
{
UINT32 uwRet = 0;
hardware_init();
printf("Welcom to Huawei LiteOS!!!\r\n");
delay_ms(100);
uwRet = creat_task1();
if(uwRet !=LOS_OK)
{
return uwRet;
}
uwRet = creat_task2();
if(uwRet !=LOS_OK)
{
return uwRet;
}
uwRet = creat_task3();
if(uwRet !=LOS_OK)
{
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
下載:
Huawei LiteOS for ALIENTEK MiniSTM32V3(20161130).rar
(479.55 KB, 下載次數(shù): 125)
2017-5-3 21:47 上傳
點擊文件名下載附件
STM32F103
下載積分: 黑幣 -5
作者:
noleaf
時間:
2018-5-18 09:00
下在學(xué)習(xí)LITEOS
作者:
cherixy
時間:
2018-7-2 14:05
很不錯的講解liteos移植stm32的工程
作者:
cherixy
時間:
2018-7-2 14:06
確實是不錯的資源,正好再搞liteos
作者:
miraclezqr
時間:
2018-9-7 13:50
很好,很需要liteos一直到stm32的教程
作者:
高陽
時間:
2018-12-17 16:02
謝謝分享。。。。
作者:
zzabc
時間:
2019-8-21 11:31
學(xué)習(xí)一下
作者:
huangminyi
時間:
2019-9-12 17:04
有STM32F407的例子嗎?
作者:
xdl2599
時間:
2019-9-24 08:56
很好的例子
作者:
dilake
時間:
2019-12-7 15:56
好東西,學(xué)習(xí)學(xué)習(xí)
作者:
fuzhoudaxuelin
時間:
2024-5-1 18:47
確實是不錯的資源,正好再搞liteos
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1