ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
fw_uart.h
Go to the documentation of this file.
1// Copyright 2021 IOsetting <iosetting(at)outlook.com>
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef ___FW_UART_H___
16#define ___FW_UART_H___
17
18#include "fw_conf.h"
19#include "fw_types.h"
20#include "fw_exti.h"
21
22extern __CODE char HEX_TABLE[16];
23
25
26
27/**************************************************************************** /
28 * UART1
29*/
30
31typedef enum
32{
36
43typedef enum
44{
50
51#define UART1_SetRxState(__STATE__) SBIT_ASSIGN(REN, __STATE__)
52#define UART1_ClearTxInterrupt() SBIT_RESET(TI)
53#define UART1_ClearRxInterrupt() SBIT_RESET(RI)
54#define UART1_WriteBuffer(__DATA__) (SBUF = (__DATA__))
55#define UART1_SetFrameErrDetect(__STATE__) SFR_ASSIGN(PCON, 6, __STATE__)
56#define UART1_SetBaudSource(__BAUD_SRC__) SFR_ASSIGN(AUXR, 0, __BAUD_SRC__)
61#define UART1_ConfigMode0FixedSyncSerial(__STATE__) do{ SM0=0; SM1=0; SFR_ASSIGN(AUXR, 5, __STATE__);}while(0)
62#define UART1_SetMode0Baudx6(__STATE__) SFR_ASSIGN(AUXR, 5, __STATE__)
67#define UART1_ConfigMode2Fixed9bitUart(__STATE__) do{ SM0=1; SM1=0; SFR_ASSIGN(PCON, 7, __STATE__);}while(0)
68#define UART1_SetTimer1Mode2Baudx2(__STATE__) SFR_ASSIGN(PCON, 7, __STATE__)
72#define UART1_SwitchPort(__ALTER_PORT__) (P_SW1 = P_SW1 & ~(0x03 << 6) | ((__ALTER_PORT__) << 6))
81void UART1_Config8bitUart(UART1_BaudSource_t baudSource, HAL_State_t _1TMode, uint32_t baudrate);
89void UART1_Config9bitUart(UART1_BaudSource_t baudSource, HAL_State_t _1TMode, uint32_t baudrate);
90
94void UART1_TxChar(char dat);
95void UART1_TxHex(uint8_t hex);
96void UART1_TxString(uint8_t *str);
97
98
99/**************************************************************************** /
100 * UART2
101*/
102typedef enum
103{
107
108#define UART2_SetRxState(__STATE__) SFR_ASSIGN(S2CON, 4, __STATE__)
109#define UART2_ClearTxInterrupt() SFR_RESET(S2CON, 1)
110#define UART2_ClearRxInterrupt() SFR_RESET(S2CON, 0)
111#define UART2_WriteBuffer(__DATA__) (S2BUF = (__DATA__))
112#define UART2_TxFinished() (S2CON & (0x01 << 1))
113#define UART2_Set8bitUART() SFR_RESET(S2CON, 7)
114#define UART2_Set9bitUART() SFR_SET(S2CON, 7)
118#define UART2_SwitchPort(__ALTER_PORT__) (P_SW2 = P_SW1 & ~(0x01 << 0) | ((__ALTER_PORT__) << 0))
122void UART2_Config(HAL_State_t _1TMode, uint32_t baudrate);
123
124
125void UART2_TxChar(char dat);
126void UART2_TxHex(uint8_t hex);
127void UART2_TxString(uint8_t *str);
128
129
130/**************************************************************************** /
131 * UART3
132*/
133
134#define UART3_SetBaudSource(__BAUD_SRC__) SFR_ASSIGN(S3CON, 6, __BAUD_SRC__)
135#define UART3_SetRxState(__STATE__) SFR_ASSIGN(S3CON, 4, __STATE__)
136#define UART3_Set8bitUART() SFR_RESET(S3CON, 7)
137#define UART3_Set9bitUART() SFR_SET(S3CON, 7)
138#define UART3_ClearTxInterrupt() SFR_RESET(S3CON, 1)
139#define UART3_ClearRxInterrupt() SFR_RESET(S3CON, 0)
140#define UART3_WriteBuffer(__DATA__) (S3BUF = (__DATA__))
141
145void UART3_ConfigOnTimer2(HAL_State_t _1TMode, uint32_t baudrate);
146void UART3_ConfigOnTimer3(HAL_State_t _1TMode, uint32_t baudrate);
147
148
149/**************************************************************************** /
150 * UART4
151*/
152
153#define UART4_SetBaudSource(__BAUD_SRC__) SFR_ASSIGN(S4CON, 6, __BAUD_SRC__)
154#define UART4_SetRxState(__STATE__) SFR_ASSIGN(S4CON, 4, __STATE__)
155#define UART4_Set8bitUART() SFR_RESET(S4CON, 7)
156#define UART4_Set9bitUART() SFR_SET(S4CON, 7)
157#define UART4_ClearTxInterrupt() SFR_RESET(S4CON, 1)
158#define UART4_ClearRxInterrupt() SFR_RESET(S4CON, 0)
159#define UART4_WriteBuffer(__DATA__) (S4BUF = (__DATA__))
160
164void UART4_ConfigOnTimer2(HAL_State_t _1TMode, uint32_t baudrate);
165void UART4_ConfigOnTimer4(HAL_State_t _1TMode, uint32_t baudrate);
166
167
168#endif
__CODE int8_t dat[20]
unsigned long uint32_t
Definition: fw_types.h:20
HAL_State_t
Definition: fw_types.h:69
short int16_t
Definition: fw_types.h:24
unsigned char uint8_t
Definition: fw_types.h:18
void UART1_TxChar(char dat)
Definition: fw_uart.c:72
void UART1_TxString(uint8_t *str)
Definition: fw_uart.c:85
void UART3_ConfigOnTimer3(HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:148
void UART2_TxChar(char dat)
Definition: fw_uart.c:113
UART1_AlterPort_t
Definition: fw_uart.h:44
@ UART1_AlterPort_P30_P31
Definition: fw_uart.h:45
@ UART1_AlterPort_P36_P37
Definition: fw_uart.h:46
@ UART1_AlterPort_P16_P17
Definition: fw_uart.h:47
@ UART1_AlterPort_P43_P44
Definition: fw_uart.h:48
UART1_BaudSource_t
Definition: fw_uart.h:32
@ UART1_BaudSource_Timer2
Definition: fw_uart.h:34
@ UART1_BaudSource_Timer1
Definition: fw_uart.h:33
void UART2_TxString(uint8_t *str)
Definition: fw_uart.c:126
void UART1_TxHex(uint8_t hex)
Definition: fw_uart.c:79
int16_t UART_Timer_InitValueCalculate(uint32_t sysclk, HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:20
void UART1_Config8bitUart(UART1_BaudSource_t baudSource, HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:56
void UART2_TxHex(uint8_t hex)
Definition: fw_uart.c:120
void UART3_ConfigOnTimer2(HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:136
void UART1_Config9bitUart(UART1_BaudSource_t baudSource, HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:64
__CODE char HEX_TABLE[16]
Definition: fw_util.c:18
UART2_AlterPort_t
Definition: fw_uart.h:103
@ UART2_AlterPort_P10_P11
Definition: fw_uart.h:104
@ UART2_AlterPort_P46_P47
Definition: fw_uart.h:105
void UART4_ConfigOnTimer4(HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:176
void UART4_ConfigOnTimer2(HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:165
void UART2_Config(HAL_State_t _1TMode, uint32_t baudrate)
Definition: fw_uart.c:102