GasFlowMeter/User/main - 原文件备份.c

151 lines
4.5 KiB
C
Raw Normal View History

/**
*********************************************************************
* @file main.c
* @author fire
* @version V1.0
* @date 2018-xx-xx
* @brief RT-Thread 3.0 + STM32 <EFBFBD>̹߳<EFBFBD><EFBFBD><EFBFBD>
*********************************************************************
* @attention
*
* ʵ<EFBFBD><EFBFBD>ƽ̨:Ұ<EFBFBD><EFBFBD> H743<EFBFBD><EFBFBD>ս<EFBFBD><EFBFBD>STM32 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>̳ :http://www.firebbs.cn
* <EFBFBD>Ա<EFBFBD> :https://fire-stm32.taobao.com
*
**********************************************************************
*/
/*
*************************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>
*************************************************************************
*/
#include "board.h"
#include "rtthread.h"
/*
*************************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*************************************************************************
*/
/* <20><><EFBFBD><EFBFBD><EFBFBD>߳̿<DFB3><CCBF>ƿ<EFBFBD> */
static rt_thread_t led1_thread = RT_NULL;
static rt_thread_t key_thread = RT_NULL;
/*
*************************************************************************
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*************************************************************************
*/
static void led1_thread_entry(void* parameter);
static void key_thread_entry(void* parameter);
/*
*************************************************************************
* main <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*************************************************************************
*/
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param <EFBFBD><EFBFBD>
* @retval <EFBFBD><EFBFBD>
*/
int main(void)
{
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTTϵͳ<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD>main<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>component.c<EFBFBD>ļ<EFBFBD><EFBFBD>е<EFBFBD>rtthread_startup()<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>main<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ֻ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̼߳<EFBFBD><EFBFBD>ɡ<EFBFBD>
*/
rt_kprintf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><><D2B0>]-STM32H743-<2D><>ս<EFBFBD><D5BD>RTT<54>̹߳<DFB3><CCB9><EFBFBD>ʵ<EFBFBD>\n\n");
rt_kprintf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>K1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣߳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K2<EFBFBD>ָ<EFBFBD><EFBFBD>߳<EFBFBD>\n");
led1_thread = /* <20>߳̿<DFB3><CCBF>ƿ<EFBFBD>ָ<EFBFBD><D6B8> */
rt_thread_create( "led1", /* <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD> */
led1_thread_entry, /* <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD> */
RT_NULL, /* <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
512, /* <20>߳<EFBFBD>ջ<EFBFBD><D5BB>С */
3, /* <20>̵߳<DFB3><CCB5><EFBFBD><EFBFBD>ȼ<EFBFBD> */
20); /* <20>߳<EFBFBD>ʱ<EFBFBD><CAB1>Ƭ */
/* <20><><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
if (led1_thread != RT_NULL)
rt_thread_startup(led1_thread);
else
return -1;
key_thread = /* <20>߳̿<DFB3><CCBF>ƿ<EFBFBD>ָ<EFBFBD><D6B8> */
rt_thread_create( "key", /* <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD> */
key_thread_entry, /* <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD> */
RT_NULL, /* <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
512, /* <20>߳<EFBFBD>ջ<EFBFBD><D5BB>С */
2, /* <20>̵߳<DFB3><CCB5><EFBFBD><EFBFBD>ȼ<EFBFBD> */
20); /* <20>߳<EFBFBD>ʱ<EFBFBD><CAB1>Ƭ */
/* <20><><EFBFBD><EFBFBD><EFBFBD>̣߳<DFB3><CCA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
if (key_thread != RT_NULL)
rt_thread_startup(key_thread);
else
return -1;
}
/*
*************************************************************************
* <EFBFBD>̶߳<EFBFBD><EFBFBD><EFBFBD>
*************************************************************************
*/
static void led1_thread_entry(void* parameter)
{
while (1)
{
LED1_ON;
rt_thread_delay(500); /* <20><>ʱ500<30><30>tick */
rt_kprintf("led1_thread running,LED1_ON\r\n");
LED1_OFF;
rt_thread_delay(500); /* <20><>ʱ500<30><30>tick */
rt_kprintf("led1_thread running,LED1_OFF\r\n");
}
}
static void key_thread_entry(void* parameter)
{
rt_err_t uwRet = RT_EOK;
while (1)
{
if( Key_Scan(KEY1_GPIO_PORT,KEY1_PIN) == KEY_ON )/* K1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
{
printf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>LED1<EFBFBD>̣߳<EFBFBD>\n");
uwRet = rt_thread_suspend(led1_thread);/* <20><><EFBFBD><EFBFBD>LED1<44>߳<EFBFBD> */
if(RT_EOK == uwRet)
{
rt_kprintf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>LED1<EFBFBD>̳߳ɹ<EFBFBD><EFBFBD><EFBFBD>\n");
}
else
{
rt_kprintf("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>LED1<EFBFBD>߳<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD>룺0x%lx\n",uwRet);
}
}
if( Key_Scan(KEY2_GPIO_PORT,KEY2_PIN) == KEY_ON )/* K1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
{
printf("<EFBFBD>ָ<EFBFBD>LED1<EFBFBD>̣߳<EFBFBD>\n");
uwRet = rt_thread_resume(led1_thread);/* <20>ָ<EFBFBD>LED1<44>̣߳<DFB3> */
if(RT_EOK == uwRet)
{
rt_kprintf("<EFBFBD>ָ<EFBFBD>LED1<EFBFBD>̳߳ɹ<EFBFBD><EFBFBD><EFBFBD>\n");
}
else
{
rt_kprintf("<EFBFBD>ָ<EFBFBD>LED1<EFBFBD>߳<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>ʧ<EFBFBD>ܴ<EFBFBD><EFBFBD>룺0x%lx\n",uwRet);
}
}
rt_thread_delay(20);
}
}
/********************************END OF FILE****************************/