本文整理汇总了C++中osThreadCreate函数的典型用法代码示例。如果您正苦于以下问题:C++ osThreadCreate函数的具体用法?C++ osThreadCreate怎么用?C++ osThreadCreate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了osThreadCreate函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: init_myThread
int init_myThread(void) {
tid_myThread = osThreadCreate(osThread(myThread), NULL);
if(!tid_myThread) return(-1);
return(0);
}
开发者ID:STM32F0Examples,项目名称:OS_01_blinkingLeds,代码行数:7,代码来源:main.c
示例2: main
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/* STM32F2xx HAL library initialization:
- Configure the Flash prefetch, instruction and Data caches
- Configure the Systick to generate an interrupt each 1 msec
- Set NVIC Group Priority to 4
- Global MSP (MCU Support Package) initialization
*/
HAL_Init();
/* Configure the system clock to 120 MHz */
SystemClock_Config();
/* Init task */
#if defined(__GNUC__)
osThreadDef(Start, StartThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE * 5);
#else
osThreadDef(Start, StartThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE * 2);
#endif
osThreadCreate (osThread(Start), NULL);
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
for( ;; );
}
开发者ID:PaxInstruments,项目名称:STM32CubeF2,代码行数:32,代码来源:main.c
示例3: main
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/* STM32F4xx HAL library initialization:
- Configure the Flash prefetch, instruction and Data caches
- Configure the Systick to generate an interrupt each 1 msec
- Set NVIC Group Priority to 4
- Global MSP (MCU Support Package) initialization
*/
HAL_Init();
/* Configure the system clock to 180 MHz */
SystemClock_Config();
/* Configure LED1 and LED3 */
BSP_LED_Init(LED1);
BSP_LED_Init(LED3);
/* Create Timer */
osTimerDef(LEDTimer, osTimerCallback);
osTimerId osTimer = osTimerCreate (osTimer(LEDTimer), osTimerPeriodic, NULL);
/* Start Timer */
osTimerStart(osTimer, 200);
/* Create LED Thread */
osThreadDef(LEDThread, ToggleLEDsThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
osThreadCreate (osThread(LEDThread), NULL);
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
for(;;);
}
开发者ID:nguyenvuhung,项目名称:STM32Cube_FW_F4,代码行数:39,代码来源:main.c
示例4: k_StorageInit
/**
* @brief Storage drives initialization
* @param None
* @retval None
*/
void k_StorageInit(void)
{
/* Link the USB Host disk I/O driver */
FATFS_LinkDriver(&USBH_Driver, USBDISK_Drive);
/* Link the micro SD disk I/O driver */
FATFS_LinkDriver(&SD_Driver, mSDDISK_Drive);
/* Create USB background task */
osThreadDef(STORAGE_Thread, StorageThread, osPriorityBelowNormal, 0, 2 * configMINIMAL_STACK_SIZE);
osThreadCreate (osThread(STORAGE_Thread), NULL);
/* Create Storage Message Queue */
osMessageQDef(osqueue, 10, uint16_t);
StorageEvent = osMessageCreate (osMessageQ(osqueue), NULL);
/* Init Host Library */
USBH_Init(&hUSB_Host, USBH_UserProcess, 0);
/* Add Supported Class */
USBH_RegisterClass(&hUSB_Host, USBH_MSC_CLASS);
/* Start Host Process */
USBH_Start(&hUSB_Host);
/* Enable SD Interrupt mode */
BSP_SD_Init();
BSP_SD_ITConfig();
if(BSP_SD_IsDetected())
{
osMessagePut ( StorageEvent, MSDDISK_CONNECTION_EVENT, 0);
}
}
开发者ID:eemei,项目名称:library-stm32f4,代码行数:39,代码来源:k_storage.c
示例5: main
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/* Enable the CPU Cache */
CPU_CACHE_Enable();
/* STM32F7xx HAL library initialization:
- Configure the Flash ART accelerator on ITCM interface
- Configure the Systick to generate an interrupt each 1 msec
- Set NVIC Group Priority to 4
- Global MSP (MCU Support Package) initialization
*/
HAL_Init();
/* Configure the system clock to 200 MHz */
SystemClock_Config();
/* Init task */
#if defined(__GNUC__)
osThreadDef(Start, StartThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE * 5);
#else
osThreadDef(Start, StartThread, osPriorityNormal, 0, configMINIMAL_STACK_SIZE * 2);
#endif
osThreadCreate (osThread(Start), NULL);
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
for( ;; );
}
开发者ID:RadMie,项目名称:STM32F7DiscoveryBase,代码行数:36,代码来源:main.c
示例6: MX_FREERTOS_Init
void MX_FREERTOS_Init(void) {
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* USER CODE BEGIN RTOS_MUTEX */
/* add mutexes, ... */
/* USER CODE END RTOS_MUTEX */
/* USER CODE BEGIN RTOS_SEMAPHORES */
/* add semaphores, ... */
/* USER CODE END RTOS_SEMAPHORES */
/* USER CODE BEGIN RTOS_TIMERS */
/* start timers, add new ones, ... */
/* USER CODE END RTOS_TIMERS */
/* Create the thread(s) */
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);
/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
/* USER CODE END RTOS_THREADS */
/* USER CODE BEGIN RTOS_QUEUES */
/* add queues, ... */
/* USER CODE END RTOS_QUEUES */
}
开发者ID:issta,项目名称:t-control,代码行数:30,代码来源:freertos.c
示例7: TC_MutexTimeout
/**
\brief Test case: TC_MutexTimeout
\details
- Create and initialize a mutex object
- Create a thread that acquires a mutex but never release it
- Wait for mutex release until timeout
*/
void TC_MutexTimeout (void) {
osThreadId ctrl_id, lock_id;
osEvent evt;
/* Get control thread id */
ctrl_id = osThreadGetId ();
ASSERT_TRUE (ctrl_id != NULL);
if (ctrl_id != NULL) {
/* - Create and initialize a mutex object */
G_MutexId = osMutexCreate (osMutex (MutexTout));
ASSERT_TRUE (G_MutexId != NULL);
if (G_MutexId != NULL) {
/* - Create a thread that acquires a mutex but never release it */
lock_id = osThreadCreate (osThread (Th_MutexLock), &ctrl_id);
ASSERT_TRUE (lock_id != NULL);
if (lock_id != NULL) {
/* - Wait for mutex release until timeout */
ASSERT_TRUE (osMutexWait (G_MutexId, 10) == osErrorTimeoutResource);
/* - Release a mutex */
osSignalSet (lock_id, 0x01);
evt = osSignalWait (0x01, 100);
ASSERT_TRUE (evt.status == osEventSignal);
/* - Terminate locking thread */
ASSERT_TRUE (osThreadTerminate (lock_id) == osOK);
}
/* Delete mutex object */
ASSERT_TRUE (osMutexDelete (G_MutexId) == osOK);
}
}
}
开发者ID:Goodjamp,项目名称:ble_app_template,代码行数:40,代码来源:RV_Mutex.c
示例8: start_Thread_Temperature
/**
* @brief Start temperature monitoring thread
* @param none
* @retval none
*/
int start_Thread_Temperature(void) {
ADC1_Config(); /* configure temperature ADC */
tid_Thread_Temperature = osThreadCreate(osThread(Thread_Temperature), NULL);
if (!tid_Thread_Temperature) return -1;
return 0;
}
开发者ID:felixdube,项目名称:microprocessor-systems,代码行数:12,代码来源:Thread_Temp.c
示例9: cpufreq_init
void cpufreq_init(void)
{
dfs_ddrc_calc();
//dfs_to_max();
memset(&g_cpufreq, 0x0, sizeof(T_CPUFREQ_ST));
/* 初始化记录的上一次需要调的频率值 */
g_cpufreq.maxprof = CPUFREQ_MAX_PROFILE;
g_cpufreq.minprof = CPUFREQ_MIN_PROFILE;
g_cpufreq.curprof = cpufreq_get_cur_profile();
M3_CUR_CPUFREQ_PROFILE = g_cpufreq.curprof;
M3_MAX_CPUFREQ_PROFILE = g_cpufreq.maxprof;
M3_MIN_CPUFREQ_PROFILE = g_cpufreq.minprof;
M3_CPUFREQ_DOWN_FLAG(0) = 0;
M3_CPUFREQ_DOWN_FLAG(1) = 0;
cpufreq_mail = osMailCreate(osMailQ(cpufreq_mail), NULL);
thread_cpufreq_id = osThreadCreate (osThread (thread_cpufreq), NULL);
if (thread_cpufreq_id == NULL)
{
M3CPUFREQ_PRINT(" thread create error\n");
}
/* icc channel */
cpufreq_icc_init();
}
开发者ID:magnusjjj,项目名称:android_kernel_huawei_rle,代码行数:27,代码来源:m3_cpufreq.c
示例10: main
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/* Enable the CPU Cache */
CPU_CACHE_Enable();
/* STM32F7xx HAL library initialization:
- Configure the Flash ART accelerator on ITCM interface
- Configure the Systick to generate an interrupt each 1 msec
- Set NVIC Group Priority to 4
- Low Level Initialization
*/
HAL_Init();
/* Configure the System clock to have a frequency of 200 Mhz */
SystemClock_Config();
/* Start task */
osThreadDef(USER_Thread, StartThread, osPriorityNormal, 0, 8 * configMINIMAL_STACK_SIZE);
osThreadCreate(osThread(USER_Thread), NULL);
/* Create Application Queue */
osMessageQDef(osqueue, 1, uint16_t);
AppliEvent = osMessageCreate(osMessageQ(osqueue), NULL);
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
for( ;; );
}
开发者ID:acrepina,项目名称:STM32F7_serverWEB,代码行数:35,代码来源:main.c
示例11: sys_thread_new
/*---------------------------------------------------------------------------*
* Routine: sys_thread_new
*---------------------------------------------------------------------------*
* Description:
* Starts a new thread with priority "prio" that will begin its
* execution in the function "thread()". The "arg" argument will be
* passed as an argument to the thread() function. The id of the new
* thread is returned. Both the id and the priority are system
* dependent.
* Inputs:
* char *name -- Name of thread
* void (*thread)(void *arg) -- Pointer to function to run.
* void *arg -- Argument passed into function
* int stacksize -- Required stack amount in bytes
* int priority -- Thread priority
* Outputs:
* sys_thread_t -- Pointer to thread handle.
*---------------------------------------------------------------------------*/
sys_thread_t sys_thread_new(const char *pcName,
void (*thread)(void *arg),
void *arg, int stacksize, int priority) {
LWIP_DEBUGF(SYS_DEBUG, ("New Thread: %s\n", pcName));
if (thread_pool_index >= SYS_THREAD_POOL_N)
error("sys_thread_new number error\n");
sys_thread_t t = (sys_thread_t)&thread_pool[thread_pool_index];
thread_pool_index++;
#ifdef CMSIS_OS_RTX
t->def.pthread = (os_pthread)thread;
t->def.tpriority = (osPriority)priority;
t->def.stacksize = stacksize;
t->def.stack_pointer = (uint32_t*)mem_malloc(stacksize);
if (t->def.stack_pointer == NULL) {
error("Error allocating the stack memory");
}
#endif
t->id = osThreadCreate(&t->def, arg);
if (t->id == NULL)
error("sys_thread_new create error\n");
return t;
}
开发者ID:brucetsao,项目名称:arduino-ameba,代码行数:43,代码来源:sys_arch.c
示例12: main
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/* Enable the CPU Cache */
CPU_CACHE_Enable();
/* STM32F7xx HAL library initialization:
- Configure the Flash ART accelerator on ITCM interface
- Configure the Systick to generate an interrupt each 1 msec
- Set NVIC Group Priority to 4
- Low Level Initialization
*/
HAL_Init();
/* Configure the system clock to 216 Mhz */
SystemClock_Config();
/* Initialize LEDs */
BSP_LED_Init(LED1);
/* Thread 1 definition */
osThreadDef(LED1, LED_Thread1, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
/* Start thread 1 */
LED1_ThreadId = osThreadCreate(osThread(LED1), NULL);
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
for(;;);
}
开发者ID:acrepina,项目名称:STM32F7_serverWEB,代码行数:36,代码来源:main.c
示例13: main
/**@brief Function for application main entry.
*/
int main(void)
{
uint32_t err_code;
bool erase_bonds;
// Initialize.
timers_init();
buttons_leds_init(&erase_bonds);
ble_stack_init();
device_manager_init(erase_bonds);
gap_params_init();
advertising_init();
services_init();
sensor_simulator_init();
conn_params_init();
ble_evt_pool = osPoolCreate(osPool(ble_evt_pool));
ble_stack_msg_box = osMessageCreate(osMessageQ(ble_stack_msg_box), NULL);
// Start execution.
ble_stack_thread_id = osThreadCreate(osThread(ble_stack_thread), NULL);
UNUSED_VARIABLE(ble_stack_thread_id);
application_timers_start();
err_code = ble_advertising_start(BLE_ADV_MODE_FAST);
APP_ERROR_CHECK(err_code);
// Enter main loop.
for (;; )
{
UNUSED_VARIABLE(osDelay(1000));
}
}
开发者ID:IOIOI,项目名称:nRF51,代码行数:34,代码来源:main.c
示例14: HCBoxInit
void HCBoxInit( void )
{
// switch ( Configure.HeaterType )
// {
// default:
// case enumHeaterNone: MsgBox( "未安装恒温箱", vbOKOnly ); break;
// case enumHCBoxOnly: Configure_HCBox(); break;
// case enumHeaterOnly: Configure_Heater(); break;
// case enumHCBoxHeater: MsgBox( "硬件不能支持", vbOKOnly ); break;
// }
// set_HCBoxTemp( Configure.HCBox_SetTemp * 0.1f, Configure.HCBox_SetMode );
switch ( Configure.HeaterType )
{
default:
case enumHeaterNone:
break; // MsgBox( "未安装恒温箱", vbOKOnly ); break;
case enumHCBoxOnly:
set_HCBoxTemp( Configure.HCBox_SetTemp * 0.1f, Configure.HCBox_SetMode );
Set_HCBox_Temp( Configure.HCBox_SetTemp * 0.1f, Configure.HCBox_SetMode );
osThreadCreate( osThread( _task_HCBox ), NULL );
break;
case enumHeaterOnly:
set_HeaterTemp( Configure.Heater_SetTemp * 0.1f);
break;
case enumHCBoxHeater:
set_HCBoxTemp( Configure.HCBox_SetTemp * 0.1f, Configure.HCBox_SetMode );
set_HeaterTemp( Configure.Heater_SetTemp*0.1f);
break;
}
}
开发者ID:github188,项目名称:J-KB6120E_V2x,代码行数:31,代码来源:HCBox.c
示例15: main
// メインスレッド
extern "C" int main(void){
clDigitalIO<PIN_LED1> PinLED1;
/* OSリソースの作成を伴うデバイスインスタンスの初期化を行う */
// カメラの初期化
Camera.Init(CAMERA_IRQ_PRIORITY);
// UART0の初期化
Uart0.Init(HOSTIF_BAUDRATE, HOSTIF_IRQ_PRIORITY);
// USBの初期化
USBSerial.Init(USB_IRQ_PRIORITY);
//osThreadSetPriority(osThreadGetId(), osPriorityRealtime);
/* スレッドを起動 */
osThreadDef(CameraThread, osPriorityHigh, 1, 0);
osThreadCreate(osThread(CameraThread), nullptr);
//udd_enable();
// テストメッセージ出力
Uart0.printf("usb test\n");
//USBSerial.printf("usb test\n");
// USBを有効化
USBSerial.Enable(true);
while(true){
USBSerial.PollVBUS(GetIn(PIN_USB_VBUS));
PinLED1.SetOut(true);
osDelay(50);
PinLED1.SetOut(false);
osDelay(50);
/*int c;
while((c = Uart0.getc()) != iSerial::EOF){
Uart0.putc(c);
USBSerial.putc(c);
}*/
/*while((c = USBSerial.getc()) != iSerial::EOF){
Uart0.putc(c);
USBSerial.putc(c);
}*/
}
return 0;
}
开发者ID:pinebright,项目名称:BallDetector,代码行数:61,代码来源:main_thread.cpp
示例16: defined
osStatus Thread::start(Callback<void()> task) {
_mutex.lock();
if (_tid != 0) {
_mutex.unlock();
return osErrorParameter;
}
#if defined(__MBED_CMSIS_RTOS_CA9) || defined(__MBED_CMSIS_RTOS_CM)
_thread_def.pthread = Thread::_thunk;
if (_thread_def.stack_pointer == NULL) {
_thread_def.stack_pointer = new uint32_t[_thread_def.stacksize/sizeof(uint32_t)];
MBED_ASSERT(_thread_def.stack_pointer != NULL);
}
//Fill the stack with a magic word for maximum usage checking
for (uint32_t i = 0; i < (_thread_def.stacksize / sizeof(uint32_t)); i++) {
_thread_def.stack_pointer[i] = 0xE25A2EA5;
}
#endif
_task = task;
_tid = osThreadCreate(&_thread_def, this);
if (_tid == NULL) {
if (_dynamic_stack) {
delete[] (_thread_def.stack_pointer);
_thread_def.stack_pointer = (uint32_t*)NULL;
}
_mutex.unlock();
_join_sem.release();
return osErrorResource;
}
_mutex.unlock();
return osOK;
}
开发者ID:SolarTeamEindhoven,项目名称:mbed,代码行数:35,代码来源:Thread.cpp
示例17: Init_Thread_1
int Init_Thread_1 (void) {
tid_Thread_1 = osThreadCreate (osThread(Thread_1), NULL);
if(!tid_Thread_1) return(-1);
return(0);
}
开发者ID:nanobrain,项目名称:Kinetis_RTOS,代码行数:7,代码来源:Thread_1.c
示例18: Init_ThreadADC2
int Init_ThreadADC2 (void) {
tid_ADC2 = osThreadCreate (osThread(Thread_ADC2), NULL);
if (!tid_ADC2) return(-1);
return(0);
}
开发者ID:buczio,项目名称:sterowanieADC,代码行数:7,代码来源:ADC2_Thread.c
示例19: main
/**
* @brief Main program
* @param None
* @retval None
*/
int main(void)
{
/* STM32F446xx HAL library initialization */
HAL_Init();
/* Configure the system clock to 180 Mhz */
SystemClock_Config();
/* Initialize IO expander */
BSP_IO_Init();
/* Start task */
osThreadDef(USER_Thread, StartThread, osPriorityNormal, 0, 8 * configMINIMAL_STACK_SIZE);
osThreadCreate(osThread(USER_Thread), NULL);
/* Create Application Queue */
osMessageQDef(osqueue, 1, uint16_t);
AppliEvent = osMessageCreate(osMessageQ(osqueue), NULL);
/* Start scheduler */
osKernelStart();
/* We should never get here as control is now taken by the scheduler */
for( ;; );
}
开发者ID:451506709,项目名称:automated_machine,代码行数:30,代码来源:main.c
示例20: start_Thread_Segment
/**
* @brief Start 7-segment display thread
* @param none
* @retval none
*/
int start_Thread_Segment(void) {
Display_GPIO_Config();
display_degree(degree_on);
tid_Thread_Segment = osThreadCreate(osThread(Thread_Segment), NULL);
if (!tid_Thread_Segment) return -1;
return 0;
}
开发者ID:felixdube,项目名称:microprocessor-systems,代码行数:12,代码来源:Thread_Segment.c
注:本文中的osThreadCreate函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论