コード例 #1
0
ファイル: os_serial.c プロジェクト: slfyusufu/charm
void init_serial()
{
    // Create the Serial task 
    _OS_CreatePeriodicTask(SERIAL_TASK_PERIOD, SERIAL_TASK_PERIOD, 
        SERIAL_TASK_PERIOD / 40, 0, g_serial_task_stack, sizeof(g_serial_task_stack), 
        "SERIAL", SYSTEM_TASK,
        &g_serial_task, SerialTaskFn, 0);
}
コード例 #2
0
ファイル: os_syscall.c プロジェクト: bbhat/charm
void syscall_PeriodicTaskCreate(const _OS_Syscall_Args * param_info, const void * arg, void * ret)
{
	const UINT32 * uint_args = (const UINT32 *)arg;
	UINT32 * uint_ret = (UINT32 *)ret;
	OS_Return result = SYSCALL_ARGUMENT_ERROR;
	
	if((param_info->arg_count >= 9) && (param_info->ret_count >= 2))
	{	
		result = _OS_CreatePeriodicTask((UINT32)uint_args[0],
									(UINT32)uint_args[1],
									(UINT32)uint_args[2],
									(UINT32)uint_args[3],
									(UINT32 *)uint_args[4],
									(UINT32)uint_args[5],
									(INT8 *)uint_args[6],
									USER_TASK,
									(OS_Task_t *)(uint_ret+1),
									(void *)uint_args[7],
									(void *)uint_args[8]);
	}
								
	if(uint_ret) uint_ret[0] = result;
}