µ±Ç°Î»ÖãºÊ×Ò³ > ʹÓÃIARÒÆÖ²ucosµ½stm32µÄ²½Öè
for (;;) {
GPIO_WriteBit(GPIOA,GPIO_Pin_7 ,Bit_SET); OSTimeDly(500);
GPIO_WriteBit(GPIOA,GPIO_Pin_7 ,Bit_RESET); OSTimeDly(500); } }
static void startup(void *p_arg) {
OS_CPU_SysTickInit(); //³õʼ»¯Ê±Öӵδð
os_err = OSTaskCreate(task1, //ÈÎÎñ1
(void *)0, //²»´ø²ÎÊý
(OS_STK *)&task1_stk[TASK1_STK_SIZE - 1],//¶ÑÕ»Ö¸Õë (INT8U)TASK1_PRIO); //ÓÅÏȼ¶
os_err = OSTaskCreate(task2, //ÈÎÎñ2 (void *)0, //²»´ø²ÎÊý
(OS_STK *)&task2_stk[TASK2_STK_SIZE - 1],//¶ÑÕ»Ö¸Õë (INT8U)TASK2_PRIO); //ÓÅÏȼ¶
os_err = OSTaskCreate(task3, //ÈÎÎñ3 (void *)0, //²»´ø²ÎÊý
(OS_STK *)&task3_stk[TASK3_STK_SIZE - 1],//¶ÑÕ»Ö¸Õë (INT8U)TASK3_PRIO); //ÓÅÏȼ¶ //
os_err = OSTaskCreate(task4, //ÈÎÎñ4 (void *)0, //²»´ø²ÎÊý
(OS_STK *)&task4_stk[TASK4_STK_SIZE - 1],//¶ÑÕ»Ö¸Õë (INT8U)TASK4_PRIO);
OSTaskDel(OS_PRIO_SELF); //ÈÎÎñ½¨Á¢Íê³ÉɾµôÕâ¸öÈÎÎñ }
ËùÓÃmainº¯ÊýΪ int main(void) {
GPIO_InitTypeDef GPIO_InitStructure;
SystemInit();
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
RCC_APB2PeriphResetCmd(RCC_APB2Periph_GPIOA , DISABLE);
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_Init(GPIOA, &GPIO_InitStructure);
OSInit();
OSTaskCreate(startup, (void *)0, &startup_stk[STARTUP_TASK_STK_SIZE-1], STARTUP_TASK_PRIO);
OSStart(); return 0; }
±àÒëͨ¹ý,ÏÂÔØµ½Ä¿±ê°åÉÏ,ÔËÐÐ4¸öµÆÍ¬Ê±ÉÁÁËÆðÀ´.ÒÆÖ²³É¹¦. ±¾È˸Õѧstm32 ºÍucos²»¾Ã,Ï£Íû´ó¼ÒÄܶà¶àÖ¸Õý.
¹²·ÖÏí92ƪÏà¹ØÎĵµ