build: W600-SDK importiert, Firmware-Build und Hello am EVK
Docker-Build mit gcc-arm-none-eabi 4.9-2014q4 (statt Homebrew-Cask) verwendet, Dockerfile/tools/docker.sh dafür aus Task 13 vorgezogen. cmake/sdk.cmake schont gcc 4.9 (kennt -fcommon/-Wno-error=... nicht). Zwei zusätzliche SDK-Stubs (EarlyInit, pre_gpio_config) in src/sys/sdk_stubs.c ergänzt, siehe sdk/PATCHES.md.
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
/*****************************************************************************
|
||||
*
|
||||
* File Name : wm_iouart.h
|
||||
*
|
||||
* Description: IO uart Driver Module
|
||||
*
|
||||
* Copyright (c) 2014 Winner Microelectronics Co., Ltd.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Author : dave
|
||||
*
|
||||
* Date : 2015-8-13
|
||||
*****************************************************************************/
|
||||
#ifndef WM_IO_UART_H
|
||||
#define WM_IO_UART_H
|
||||
|
||||
#include "wm_uart.h"
|
||||
#include "wm_io.h"
|
||||
|
||||
|
||||
#define IO_UART_FOR_PRINT 0
|
||||
|
||||
#define IO_UART_TX WM_IO_PB_08
|
||||
#define IO_UART_RX WM_IO_PB_09
|
||||
|
||||
#define IO_UART_HIGH 1
|
||||
#define IO_UART_LOW 0
|
||||
|
||||
#define TLS_IO_UART_RX_BUF_SIZE 1024
|
||||
#define TLS_IO_UART_TX_BUF_SIZE 1024
|
||||
|
||||
#define IO_UART_RATE_MUL 8 //采样率=该值*波特率
|
||||
|
||||
#define IO_UART_ONEBITE_SAMPLE_NUM 2
|
||||
#define IO_UART_ONEBYTE_BIT 10
|
||||
|
||||
typedef struct tls_io_uart{
|
||||
struct tls_uart_circ_buf recv;
|
||||
int timercnt;
|
||||
u8 bit[IO_UART_ONEBITE_SAMPLE_NUM]; //每个bit采样3次,然后判断高低电平
|
||||
u8 bitcnt; //单个bit采样次数
|
||||
u8 bitnum; //bit号,一个byte共有10个bit(1个起始位+8个数据位+1个停止位)
|
||||
u8 ifrx; //是否正在rx
|
||||
u8 iftx; //是否正在tx
|
||||
u8 timerid;
|
||||
|
||||
}tls_io_uart_t;
|
||||
|
||||
/**
|
||||
* @defgroup Driver_APIs Driver APIs
|
||||
* @brief Driver APIs
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup Driver_APIs
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup IOUART_Driver_APIs IOUART Driver APIs
|
||||
* @brief IOUART driver APIs
|
||||
*/
|
||||
|
||||
/**
|
||||
* @addtogroup IOUART_Driver_APIs
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief This function is used to initialize uart io
|
||||
*
|
||||
* @param[in] bandrate iouart baudrate
|
||||
*
|
||||
* @return WM_SUCCESS success
|
||||
* @return WM_FAILED fail
|
||||
*
|
||||
* @note None
|
||||
*/
|
||||
int tls_iouart_init(int bandrate);
|
||||
|
||||
/**
|
||||
* @brief This function is used to restore uart io cfg
|
||||
*
|
||||
* @param[in] None
|
||||
*
|
||||
* @return WM_SUCCESS success
|
||||
*
|
||||
* @note None
|
||||
*/
|
||||
int tls_iouart_destroy(void);
|
||||
|
||||
/**
|
||||
* @brief This function is used to read data from uart io
|
||||
*
|
||||
* @param[in] buf is the user buffer
|
||||
* @param[in] readsize is the user read size
|
||||
*
|
||||
* @return >0 copy data size
|
||||
* @return WM_FAILED fail
|
||||
*
|
||||
* @note None
|
||||
*/
|
||||
int tls_iouart_read(u8 * buf, int bufsize);
|
||||
|
||||
/**
|
||||
* @brief This function is used to transfer data synchronously.
|
||||
*
|
||||
* @param[in] buf is a buf for saving user data
|
||||
* @param[in] writesize is the user data length
|
||||
*
|
||||
* @retval WM_SUCCESS tx success
|
||||
* @retval WM_FAILED tx failed
|
||||
*
|
||||
* @note None
|
||||
*/
|
||||
int tls_iouart_write(u8 * buf, int bufsize);
|
||||
|
||||
/**
|
||||
* @brief This function is used to output a character to the serial port.
|
||||
*
|
||||
* @param[in] ch character to be output
|
||||
*
|
||||
* @retval ch
|
||||
*
|
||||
* @note None
|
||||
*/
|
||||
int tls_iouart_output_char(int ch);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* WM_IO_UART_H */
|
||||
|
||||
Reference in New Issue
Block a user