标签:style blog http color os 文件 io 2014
买的飞控板到了,开始写下位机的程序了,本来打算用UCOS的,因为以前用过,比较熟悉,可以很快上手,不过板子的卖家推荐了RT-Thread,以前虽然有接触过,但是没用过,于是去官网看了下,感觉还不错。其一这是咱们国人写的,其二USOS有的基本任务调度功能它都有了,其三它的GUI貌似原生支持中文(不确定),其四他有很多的附加组件,虽然这些组建大部分在以前做项目的时候都自己完成过,并且我并不怎么喜欢集成度太高的RTOS,但是这次可以尝试看看。还有它有些好的环形buffer,可以用来做串口的缓冲,哈,这个以前都是自己写的,有现成的,不过试试它带的也好,同时还集成设备管理功能,可以自己写驱动,我看了下,驱动接口都是些类似于winCE的流驱动的接口函数,我们可以把串口放在它的设备管理里面,用它的流驱动接口试一试。不过不知道稳定性怎么样。
1 //------- init led1 thread 2 rt_thread_init(&thread_led1, 3 "led1", 4 rt_thread_entry_led1, 5 RT_NULL, 6 &thread_led1_stack[0], 7 sizeof(thread_led1_stack),11,5); 8 rt_thread_startup(&thread_led1); 9 10 //------- init led2 thread 11 rt_thread_init(&thread_led2, 12 "led2", 13 rt_thread_entry_led2, 14 RT_NULL, 15 &thread_led2_stack[0], 16 sizeof(thread_led2_stack),11,5); 17 rt_thread_startup(&thread_led2);
分别找到rt_thread_entry_led1和rt_thread_entry_led2两个函数,在里面控制LED灯就可以了。。
1 static void rt_thread_entry_led1(void* parameter) 2 { 3 4 5 while (1) 6 { 7 rt_thread_delay(RT_TICK_PER_SECOND); 8 GPIO_ResetBits(GPIOE,GPIO_Pin_7); 9 rt_thread_delay(RT_TICK_PER_SECOND/3); 10 GPIO_SetBits(GPIOE,GPIO_Pin_7); 11 12 } 13 }
另一个进程其实也是一样的,控制得灯不一样而已。。。代码比较粗糙,测试用的。。
四轴飞行器1.2.1 RT-Thread 环境搭建,布布扣,bubuko.com
标签:style blog http color os 文件 io 2014
原文地址:http://www.cnblogs.com/adfjhg/p/3871844.html