QCA4020新手上路(五)

1.引言

    本文依然来讲HelloWorld_demo。本demo中总共包含3个c程序文件:hello_world.c、pal.h、pal.c。本文旨在说明hello_world.c中每个函数的逻辑。

 

2.函数

    本文件中只包含了3个函数。

HelloWorld_Thread:线程函数
Initialize_Demo:初始化函数
App_Start:主体函数

 

3.Initialize_Demo

    首先开看初始化函数Initialize_Demo:使用PAL_CONSOLE_WRITE_STRING_LITERAL打印了两句字符串。

  /**PAL_OUTPUT_END_OF_LINE_STRING
   @brief This function is used to pre initialize resource 
          required before starting the demo this is called
           from app_init function in pal.c
 */
void Initialize_Demo(void)
{
   PAL_CONSOLE_WRITE_STRING_LITERAL("Hello World demo - Welcome to QCA IoE \r\n");
   PAL_CONSOLE_WRITE_STRING_LITERAL(PAL_OUTPUT_END_OF_LINE_STRING);
}

 

4.App_Start

/**
   @brief This function is used to start the demo thread this
          is called from app_init function in pal.c
 */
void App_Start(qbool_t ColdBoot)
{
   qurt_thread_attr_t Thread_Attribte;
   qurt_thread_t      Thread_Handle;
   int                Result;

   /* Start the main demo app. */
   qurt_thread_attr_init(&Thread_Attribte);    //初始化线程属性
   qurt_thread_attr_set_name(&Thread_Attribte, "HelloThread");    //设置线程的名称
   qurt_thread_attr_set_priority(&Thread_Attribte, THREAD_PRIORITY);  //设置线程的优先级
   qurt_thread_attr_set_stack_size(&Thread_Attribte, THREAD_STACK_SIZE);   //设置线程的堆栈大小
   Result = qurt_thread_create(&Thread_Handle, &Thread_Attribte, HelloWorld_Thread, NULL);  //创建线程
   if(Result != QURT_EOK)
   {
      PAL_CONSOLE_WRITE_STRING_LITERAL("Failed to start Hello World Main thread.");
      PAL_CONSOLE_WRITE_STRING_LITERAL(PAL_OUTPUT_END_OF_LINE_STRING);
      PAL_CONSOLE_WRITE_STRING_LITERAL(PAL_OUTPUT_END_OF_LINE_STRING);
   }
}

 

5.HelloWorld_Thread

    线程函数,每隔1秒打印一句“Hello World”和一个空行。

/**
   @brief This function represents the main thread of execution.
*/
static void HelloWorld_Thread(void *Param)
{
   /* Say Hello World */
   while(true)
   {
      PAL_CONSOLE_WRITE_STRING_LITERAL("Hello World\r\n");
      PAL_CONSOLE_WRITE_STRING_LITERAL(PAL_OUTPUT_END_OF_LINE_STRING);
      Sleep(1000); //sleep for 1 sec
   }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值