STM固件+CoooS在Keil4运行多任务

CoooS是Cortex-M3定制的操作系统,感觉有点像uC ,当然也支持STM32

具体见http://www.coocox.org

先完成STM32的串口编程用于打印信息

在Keil中编写3任务

//点亮开发板上的LED 表示系统在运行
void Sys_Run_Led_Task(void* pdata)
{
	while(1)
	{
		GPIO_SetBits(GPIOD,RUN_LED);
		Delay(0xAFFFF);
		GPIO_ResetBits(GPIOD,RUN_LED);
		Delay(0xAFFFF);
	    Uart_printf("Sys_Run_Led_Task!\n");
	//	printf("hhh\n");
		CoTickDelay (10);
	}	
}

void Test1_Task(void* pdata)
{
	while(1)
	{
		Uart_printf("------------------Test1_Task!------------------\n");
		CoTickDelay (50); 
	}
}
void Test2_Task(void* pdata)
{
	while(1)
	{
		Uart_printf("------------------Test2_Task!-------------------\n");
		CoTickDelay (50); 
	}
}
主函数

int main(void)
{		
	CoInitOS (); //系统初始化
	Uart_Init();//串口初始化	
	Uart_printf("---------------CoOS Test------------------\n");
	Uart_printf("---------------2012-11-14------------------\n");
	Uart_printf("---------------DCH-------------------------\n");
	Uart_printf("input:");
    getxx = get_char();
	put_char(getxx);
	Uart_printf("\nEnter any key continu!\n");
	getxx = get_char();
	Uart_printf("\n");
	GPIO_Sys_Init();
	/*创建3个任务*/
	CoCreateTask (Sys_Run_Led_Task,0,1,&task_Led_Run_stk[128-1],128);
	CoCreateTask (Test1_Task,0,12,&test1_stk[128-1],128);
	CoCreateTask (Test2_Task,0,13,&test2_stk[128-1],128);
	Uart_printf("OS Start!\n");
	CoStartOS ();//运行任务	
	while (1);
}
用J-link调试

板子上的LED闪烁,通过串口打印信息如下 :


相关的源码已上传

目录结构如下




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值