173 lines
4.7 KiB
C
173 lines
4.7 KiB
C
/**
|
||
* @file cm_common.h
|
||
* @brief opencpu 通用头文件
|
||
* @copyright Copyright © 2021 China Mobile IOT. All rights reserved.
|
||
* @author By tw
|
||
* @date 2021/03/18
|
||
*/
|
||
|
||
|
||
#ifndef __CM_COMMON_H__
|
||
#define __CM_COMMON_H__
|
||
|
||
|
||
/****************************************************************************
|
||
* Included Files
|
||
****************************************************************************/
|
||
#include <stdint.h>
|
||
#include <stdbool.h>
|
||
#include <string.h>
|
||
#include "cm_os.h"
|
||
#include "cm_iomux.h"
|
||
/****************************************************************************
|
||
* Pre-processor Definitions
|
||
****************************************************************************/
|
||
|
||
#ifndef FALSE
|
||
#define FALSE (0U)
|
||
#endif
|
||
|
||
#ifndef TRUE
|
||
#define TRUE (1U)
|
||
#endif
|
||
|
||
#define UART_TASK_PRIORITY osPriorityNormal
|
||
|
||
/**
|
||
* 测试串口宏定义,只需修改此处即可变更测试串口
|
||
* 此处请勿使用cm_uart_dev_e枚举值,否则影响本文件后续条件判断
|
||
* SD功能和UART0(ML302A为UART1)功能互斥,不可同时使用
|
||
*/
|
||
#if CM_OPENCPU_MODEL_ML302A
|
||
#define OPENCPU_MAIN_URAT 1
|
||
#else
|
||
#define OPENCPU_MAIN_URAT 0
|
||
#endif
|
||
|
||
/****************************************************************************
|
||
* Public Types
|
||
****************************************************************************/
|
||
typedef enum{
|
||
RET_BUSY = -2,
|
||
RET_ERROR =-1,
|
||
RET_SUCCESS = 0
|
||
}CM_RET_E;
|
||
|
||
|
||
/****************************************************************************
|
||
* Public Data
|
||
****************************************************************************/
|
||
|
||
|
||
/****************************************************************************
|
||
* Public Function Prototypes
|
||
****************************************************************************/
|
||
#ifdef __cplusplus
|
||
#define EXTERN extern "C"
|
||
extern "C"
|
||
{
|
||
#else
|
||
#define EXTERN extern
|
||
#endif
|
||
|
||
|
||
#if CM_OPENCPU_MODEL_ML302A
|
||
//uart0
|
||
#if (OPENCPU_MAIN_URAT == 0)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_15, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_14, CM_IOMUX_FUNC_FUNCTION1
|
||
#endif
|
||
|
||
//uart1
|
||
#if (OPENCPU_MAIN_URAT == 1)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_29, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_30, CM_IOMUX_FUNC_FUNCTION1
|
||
#endif
|
||
|
||
//uart2
|
||
#if (OPENCPU_MAIN_URAT == 2)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_50, CM_IOMUX_FUNC_FUNCTION2
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_51, CM_IOMUX_FUNC_FUNCTION2
|
||
#endif
|
||
|
||
#define OPENCPU_UART_WEKEUP_PIN CM_IOMUX_PIN_30
|
||
|
||
|
||
#define OPENCPU_TEST_PWM0_IOMUX CM_IOMUX_PIN_3, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM1_IOMUX CM_IOMUX_PIN_12, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM2_IOMUX CM_IOMUX_PIN_69, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM3_IOMUX 0, 0
|
||
#endif
|
||
|
||
#if CM_OPENCPU_MODEL_ML305A
|
||
//uart0
|
||
#if (OPENCPU_MAIN_URAT == 0)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_32, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_31, CM_IOMUX_FUNC_FUNCTION1
|
||
#endif
|
||
|
||
//uart1
|
||
#if (OPENCPU_MAIN_URAT == 1)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_3, CM_IOMUX_FUNC_FUNCTION2
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_2, CM_IOMUX_FUNC_FUNCTION2
|
||
#endif
|
||
|
||
//uart2
|
||
#if (OPENCPU_MAIN_URAT == 2)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_49, CM_IOMUX_FUNC_FUNCTION3
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_54, CM_IOMUX_FUNC_FUNCTION3
|
||
#endif
|
||
|
||
#define OPENCPU_UART_WEKEUP_PIN CM_IOMUX_PIN_31
|
||
|
||
#define OPENCPU_TEST_PWM0_IOMUX CM_IOMUX_PIN_69, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM1_IOMUX CM_IOMUX_PIN_70, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM2_IOMUX CM_IOMUX_PIN_56, CM_IOMUX_FUNC_FUNCTION3
|
||
#define OPENCPU_TEST_PWM3_IOMUX CM_IOMUX_PIN_57, CM_IOMUX_FUNC_FUNCTION3
|
||
#endif
|
||
|
||
#if CM_OPENCPU_MODEL_ML307A
|
||
//uart0
|
||
#if (OPENCPU_MAIN_URAT == 0)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_18, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_17, CM_IOMUX_FUNC_FUNCTION1
|
||
#endif
|
||
|
||
//uart1
|
||
#if (OPENCPU_MAIN_URAT == 1)
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_28, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_29, CM_IOMUX_FUNC_FUNCTION1
|
||
#endif
|
||
|
||
#if (OPENCPU_MAIN_URAT == 2)
|
||
#define OPENCPU_TEST_UARTTX_IOMUX CM_IOMUX_PIN_50, CM_IOMUX_FUNC_FUNCTION3
|
||
#define OPENCPU_TEST_UARTRX_IOMUX CM_IOMUX_PIN_51, CM_IOMUX_FUNC_FUNCTION3
|
||
#endif
|
||
|
||
#define OPENCPU_UART_WEKEUP_PIN CM_IOMUX_PIN_17
|
||
|
||
#define OPENCPU_TEST_PWM0_IOMUX CM_IOMUX_PIN_74, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM1_IOMUX CM_IOMUX_PIN_75, CM_IOMUX_FUNC_FUNCTION1
|
||
#define OPENCPU_TEST_PWM2_IOMUX CM_IOMUX_PIN_21, CM_IOMUX_FUNC_FUNCTION2
|
||
#define OPENCPU_TEST_PWM3_IOMUX 0, 0
|
||
|
||
#endif
|
||
|
||
|
||
|
||
|
||
|
||
#undef EXTERN
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
/** @}*/
|
||
/** @}*/
|
||
|
||
#endif /* __CM_COMMON_H__ */
|
||
|
||
|
||
|
||
|