TMPM4G(1) Group Peripheral Driver User Manual  V1.0.0.0
txz_fuart.h
Go to the documentation of this file.
1 
13 /*------------------------------------------------------------------------------*/
14 /* Define to prevent recursive inclusion */
15 /*------------------------------------------------------------------------------*/
16 #ifndef __FUART_H
17 #define __FUART_H
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 /*------------------------------------------------------------------------------*/
24 /* Includes */
25 /*------------------------------------------------------------------------------*/
26 #include "txz_driver_def.h"
27 
38 /*------------------------------------------------------------------------------*/
39 /* Macro Definition */
40 /*------------------------------------------------------------------------------*/
51 #define FUART_TX_FIFO_MAX ((uint32_t)0x00000020)
52 #define FUART_RX_FIFO_MAX ((uint32_t)0x00000020) /* End of group UART_FifoMax */
56 
62 #define FUART_CTS_DISABLE ((uint32_t)0x00000000)
63 #define FUART_CTS_ENABLE ((uint32_t)0x00008000) /* End of group FUART_CTSHandshake */
67 
68 
74 #define FUART_RTS_DISABLE ((uint32_t)0x00000000)
75 #define FUART_RTS_ENABLE ((uint32_t)0x00004000) /* End of group FUART_RTSHandshake */
79 
85 #define FUART_FIFO_DISABLE ((uint32_t)0x00000000)
86 #define FUART_FIFO_ENABLE ((uint32_t)0x00000010) /* End of group FUART_FIFO */
90 
91 
97 #define FUART_STOP_BIT_1 ((uint32_t)0x00000000)
98 #define FUART_STOP_BIT_2 ((uint32_t)0x00000008) /* End of group FUART_StopBit */
102 
103 
109 #define FUART_PARITY_BIT_ODD ((uint32_t)0x00000000)
110 #define FUART_PARITY_BIT_EVEN ((uint32_t)0x00000004) /* End of group FUART_ParityBit */
114 
115 
121 #define FUART_PARITY_DISABLE ((uint32_t)0x00000000)
122 #define FUART_PARITY_ENABLE ((uint32_t)0x00000002) /* End of group FUART_ParityEnable */
126 
132 #define FUART_STATIC_PARITY_DISABLE ((uint32_t)0x00000000)
133 #define FUART_STATIC_PARITY_ENABLE ((uint32_t)0x00000080) /* End of group FUART_ParityEnable */
137 
143 #define FUART_DATA_LENGTH_5 ((uint32_t)0x00000000)
144 #define FUART_DATA_LENGTH_6 ((uint32_t)0x00000020)
145 #define FUART_DATA_LENGTH_7 ((uint32_t)0x00000040)
146 #define FUART_DATA_LENGTH_8 ((uint32_t)0x00000060) /* End of group FUART_DataLength */
150 
156 #define FUART_FIFO_LEVEL_4 ((uint32_t)0x00000000)
157 #define FUART_FIFO_LEVEL_8 ((uint32_t)0x00000001)
158 #define FUART_FIFO_LEVEL_16 ((uint32_t)0x00000002)
159 #define FUART_FIFO_LEVEL_24 ((uint32_t)0x00000003)
160 #define FUART_FIFO_LEVEL_28 ((uint32_t)0x00000004) /* End of group FUART_DataLength */
165 
171 #define FUART_TX_INT_DISABLE ((uint32_t)0x00000000)
172 #define FUART_TX_INT_ENABLE ((uint32_t)0x00000020) /* End of group FUART_TxInterrupt */
176 
177 
183 #define FUART_RX_INT_DISABLE ((uint32_t)0x00000000)
184 #define FUART_RX_INT_ENABLE ((uint32_t)0x00000010) /* End of group FUART_RxInterrupt */
188 
189 
200 #define FUART_OV_ERR_INT_DISABLE ((uint32_t)0x00000000)
201 #define FUART_OV_ERR_INT_ENABLE ((uint32_t)0x00000400) /* End of group FUART_OVER_RUN_ErrorInterrupt */
205 
211 #define FUART_BK_ERR_INT_DISABLE ((uint32_t)0x00000000)
212 #define FUART_BK_ERR_INT_ENABLE ((uint32_t)0x00000200) /* End of group FUART_BREAK_ErrorInterrupt */
216 
222 #define FUART_PA_ERR_INT_DISABLE ((uint32_t)0x00000000)
223 #define FUART_PA_ERR_INT_ENABLE ((uint32_t)0x00000100) /* End of group FUART_PARITY_ErrorInterrupt */
227 
233 #define FUART_FR_ERR_INT_DISABLE ((uint32_t)0x00000000)
234 #define FUART_FR_ERR_INT_ENABLE ((uint32_t)0x00000080) /* End of group FUART_FRAMING_ErrorInterrupt */
238 
244 #define FUART_TO_ERR_INT_DISABLE ((uint32_t)0x00000000)
245 #define FUART_TO_ERR_INT_ENABLE ((uint32_t)0x00000040) /* End of group FUART_RX_TIMEOUT_RUN_ErrorInterrupt */
249  /* End of group FUART_ErrorInterrupt */
252 
253 
260 #define FUART_RANGE_K_MIN ((uint32_t)0x00000000)
261 #define FUART_RANGE_K_MAX ((uint32_t)0x0000003F) /* End of group FUART_RangeK */
265 
266 
273 #define FUART_RANGE_N_MIN ((uint32_t)0x00000002)
274 #define FUART_RANGE_N_MAX ((uint32_t)0x0000FFFF) /* End of group FUART_RangeN */
278 
279 
285 #define FUART_OVERRUN_NO_ERR ((uint32_t)0x00000000)
286 #define FUART_OVERRUN_ERR ((uint32_t)0x00000008) /* End of group FUART_OverrunErr */
290 
291 
297 #define FUART_BREAK_NO_ERR ((uint32_t)0x00000000)
298 #define FUART_BREAK_ERR ((uint32_t)0x00000004) /* End of group FUART_BreakErr */
302 
303 
309 #define FUART_PARITY_NO_ERR ((uint32_t)0x00000000)
310 #define FUART_PARITY_ERR ((uint32_t)0x00000002) /* End of group FUART_ParityErr */
314 
315 
321 #define FUART_FRAMING_NO_ERR ((uint32_t)0x00000000)
322 #define FUART_FRAMING_ERR ((uint32_t)0x00000001) /* End of group FUART_FramingErr */
326 
332 /* FR */
333 #define FUARTxFR_TXFE_MASK ((uint32_t)0x00000080)
334 #define FUARTxFR_RXFF_MASK ((uint32_t)0x00000040)
335 #define FUARTxFR_TXFF_MASK ((uint32_t)0x00000020)
336 #define FUARTxFR_RXFE_MASK ((uint32_t)0x00000010)
337 #define FUARTxFR_BUSY_MASK ((uint32_t)0x00000008)
338 #define FUARTxFR_CTS_MASK ((uint32_t)0x00000001)
340 #define FUARTxFR_TXFE_FLAG_SET ((uint32_t)0x00000080)
341 #define FUARTxFR_RXFF_FLAG_SET ((uint32_t)0x00000040)
342 #define FUARTxFR_TXFF_FLAG_SET ((uint32_t)0x00000020)
343 #define FUARTxFR_RXFE_FLAG_SET ((uint32_t)0x00000010)
344 #define FUARTxFR_BUSY_FLAG_SET ((uint32_t)0x00000008)
345 #define FUARTxFR_CTS_FLAG_SET ((uint32_t)0x00000001)
347 #define FUARTxFR_TXFE_FLAG_CLR ((uint32_t)0x00000000)
348 #define FUARTxFR_RXFF_FLAG_CLR ((uint32_t)0x00000000)
349 #define FUARTxFR_TXFF_FLAG_CLR ((uint32_t)0x00000000)
350 #define FUARTxFR_RXFE_FLAG_CLR ((uint32_t)0x00000000)
351 #define FUARTxFR_BUSY_FLAG_CLR ((uint32_t)0x00000000)
352 #define FUARTxFR_CTS_FLAG_CLR ((uint32_t)0x00000000) /* End of group FUARTxFR */
356  /* End of group FUART_Exported_define */
360 
361 /*------------------------------------------------------------------------------*/
362 /* Enumerated Type Definition */
363 /*------------------------------------------------------------------------------*/
369 /* no define */
370  /* End of group FUART_Exported_define */
374 
375 /*------------------------------------------------------------------------------*/
376 /* Structure Definition */
377 /*------------------------------------------------------------------------------*/
383 /*----------------------------------*/
387 /*----------------------------------*/
388 typedef struct
389 {
390  uint8_t *p_data;
391  uint32_t num;
393 
394 /*----------------------------------*/
398 /*----------------------------------*/
399 typedef struct
400 {
401  uint8_t *p_data;
402  uint32_t num;
404 
405 /*----------------------------------*/
409 /*----------------------------------*/
410 typedef struct
411 {
412  uint32_t brk;
414  uint32_t brn;
417 
418 /*----------------------------------*/
422 /*----------------------------------*/
423 typedef struct
424 {
425  uint32_t inttx;
427  uint32_t level;
430 
431 /*----------------------------------*/
435 /*----------------------------------*/
436 typedef struct
437 {
438  uint32_t intrx;
440  uint32_t level;
443 
444 /*----------------------------------*/
448 /*----------------------------------*/
449 typedef struct
450 {
451  uint32_t id;
454  uint32_t interr;
460  uint32_t ctse;
462  uint32_t rtse;
464  uint32_t stpa;
466  uint32_t sm;
468  uint32_t fifo;
470  uint32_t sblen;
472  uint32_t even;
474  uint32_t pe;
477 
478 /*----------------------------------*/
482 /*----------------------------------*/
483 typedef struct
484 {
485  TSB_FURT_TypeDef *p_instance;
487  /*------------------------------------------*/
491  /*------------------------------------------*/
492  struct
493  {
494  uint32_t rp;
496  void (*handler)(uint32_t id, TXZ_Result result);
497  } transmit;
498  /*------------------------------------------*/
502  /*------------------------------------------*/
503  struct
504  {
505  uint32_t wp;
507  void (*handler)(uint32_t id, TXZ_Result result, fuart_receive_t *p_info);
508  } receive;
509 } fuart_t;
510  /* End of group FUART_Exported_typedef */
514 
515 /*------------------------------------------------------------------------------*/
516 /* Functions */
517 /*------------------------------------------------------------------------------*/
530 void fuart_error_irq_handler(fuart_t *p_obj);
531 void fuart_irq_handler(fuart_t *p_obj);
532 TXZ_Result fuart_get_status(fuart_t *p_obj, uint32_t *p_status);
533 TXZ_Result fuart_get_error(fuart_t *p_obj, uint32_t *p_error);
534 TXZ_Result fuart_get_boudrate_setting(uint32_t clock, uint32_t boudrate, fuart_boudrate_t *p_setting); /* End of group FUART_Exported_functions */
538  /* End of group FUART */
542  /* End of group Periph_Driver */
546 
547 #ifdef __cplusplus
548 }
549 #endif /* __cplusplus */
550 #endif /* __UART_H */
551 
552 
Transmit FIFO setting.
Definition: txz_fuart.h:423
void fuart_receive_irq_handler(fuart_t *p_obj)
Transmit data information structure definition.
Definition: txz_fuart.h:399
Receive FIFO setting.
Definition: txz_fuart.h:436
uint32_t even
Definition: txz_fuart.h:472
uint32_t interr
Definition: txz_fuart.h:454
uint32_t level
Definition: txz_fuart.h:427
uint32_t num
Definition: txz_fuart.h:402
TXZ_Result
Definition: txz_driver_def.h:43
uint32_t ctse
Definition: txz_fuart.h:460
uint32_t fifo
Definition: txz_fuart.h:468
fuart_rx_int_t rx_int
Definition: txz_fuart.h:458
void fuart_transmit_irq_handler(fuart_t *p_obj)
uint32_t pe
Definition: txz_fuart.h:474
void fuart_irq_handler(fuart_t *p_obj)
FUART handle structure definition.
Definition: txz_fuart.h:483
uint32_t rtse
Definition: txz_fuart.h:462
fuart_transmit_t info
Definition: txz_fuart.h:495
TXZ_Result fuart_transmitIt(fuart_t *p_obj, fuart_transmit_t *p_info)
fuart_boudrate_t boudrate
Definition: txz_fuart.h:452
uint32_t level
Definition: txz_fuart.h:440
uint32_t rp
Definition: txz_fuart.h:494
fuart_tx_int_t tx_int
Definition: txz_fuart.h:456
TXZ_Result fuart_deinit(fuart_t *p_obj)
uint32_t inttx
Definition: txz_fuart.h:425
uint32_t intrx
Definition: txz_fuart.h:438
uint32_t num
Definition: txz_fuart.h:391
All common macro and definition for TXZ peripheral drivers.
uint8_t * p_data
Definition: txz_fuart.h:401
void fuart_error_irq_handler(fuart_t *p_obj)
TXZ_Result fuart_get_boudrate_setting(uint32_t clock, uint32_t boudrate, fuart_boudrate_t *p_setting)
Boudrate setting structure definition.
Definition: txz_fuart.h:410
Receive event information structure definition.
Definition: txz_fuart.h:388
uint32_t wp
Definition: txz_fuart.h:505
Initial setting structure definition.
Definition: txz_fuart.h:449
uint32_t id
Definition: txz_fuart.h:451
uint32_t sblen
Definition: txz_fuart.h:470
uint32_t brk
Definition: txz_fuart.h:412
uint32_t stpa
Definition: txz_fuart.h:464
TXZ_Result fuart_discard_transmit(fuart_t *p_obj)
TXZ_Result fuart_discard_receive(fuart_t *p_obj)
TXZ_Result fuart_init(fuart_t *p_obj)
fuart_initial_setting_t init
Definition: txz_fuart.h:486
uint8_t * p_data
Definition: txz_fuart.h:390
fuart_receive_t info
Definition: txz_fuart.h:506
TXZ_Result fuart_get_status(fuart_t *p_obj, uint32_t *p_status)
TXZ_Result fuart_get_error(fuart_t *p_obj, uint32_t *p_error)
uint32_t sm
Definition: txz_fuart.h:466
TSB_FURT_TypeDef * p_instance
Definition: txz_fuart.h:485
TXZ_Result fuart_receiveIt(fuart_t *p_obj, fuart_receive_t *p_info)
uint32_t brn
Definition: txz_fuart.h:414