标准姿势
[C] 纯文本查看 复制代码 /*
*********************************************************************************************************
* 函 数 名: main
* 功能说明: 标准c程序入口。
* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
int main (void)
{
/* HAL库,MPU,Cache,时钟等系统初始化 */
System_Init();
/* 内核开启前关闭HAL的时间基准 */
HAL_SuspendTick();
/* 内核初始化 */
osKernelInitialize();
/* 创建启动任务 */
ThreadIdStart = osThreadNew(AppTaskStart, NULL, &ThreadStart_Attr);
/* 开启多任务 */
osKernelStart();
while(1);
}
/*
*********************************************************************************************************
* 函 数 名: AppTaskStart
* 功能说明: 启动任务,这里用作BSP驱动包处理。
* 形 参: 无
* 返 回 值: 无
* 优 先 级: osPriorityNormal4
*********************************************************************************************************
*/
void AppTaskStart(void *argument)
{
const uint16_t usFrequency = 1; /* 延迟周期 */
uint32_t tick;
/* 初始化外设 */
HAL_ResumeTick();
bsp_Init();
/* 创建任务 */
AppTaskCreate();
/* 获取当前时间 */
tick = osKernelGetTickCount();
while(1)
{
/* 需要周期性处理的程序,对应裸机工程调用的SysTick_ISR */
bsp_ProPer1ms();
/* 相对延迟 */
tick += usFrequency;
osDelayUntil(tick);
}
}
|