OSDN Git Service

ring.c read pointer no.2 add
[scilog/cpu2010.git] / myuart.h
1
2 #ifndef __MYUART_H__
3
4 #define __MYUART_H__
5
6 #include <p24FJ64GA004.h>
7
8 #define uart1_tx_is_full() (U1STAbits.UTXBF == 1)
9 #define uart2_tx_is_full() (U2STAbits.UTXBF == 1)
10
11 #define uart1_rx_is_rdy()  (U1STAbits.URXDA == 1)
12 #define uart2_rx_is_rdy()  (U2STAbits.URXDA == 1)
13
14 #define uart1_putc(c)    U1TXREG = (c)
15 #define uart2_putc(c)    U2TXREG = (c)
16
17 #define uart1_getc(c)    U1RXREG
18 #define uart2_getc(c)    U2RXREG
19
20 // 割り込みレベル デフォルト4
21 #define uart1_set_int_level(i)  IPC2bits.U1RXIP = (i)
22 #define uart1_rx_int_enable()  IEC0bits.U1RXIE = 1
23 #define uart1_rx_int_disable()  IEC0bits.U1RXIE = 0
24 #define uart1_rx_intf_clear()    IFS0bits.U1RXIF = 0  // 割り込みフラグクリア
25
26 #define uart2_set_int_level(i)  IPC7bits.U2RXIP = (i)
27 #define uart2_rx_int_enable()  IEC1bits.U2RXIE = 1
28 #define uart2_rx_int_disable()  IEC1bits.U2RXIE = 0
29 #define uart2_rx_intf_clear()    IFS1bits.U2RXIF = 0  // 割り込みフラグクリア
30
31
32 void uart1_puts(char *s);
33 void uart2_puts(char *s);
34 void uart1_myputc(char c);
35 void uart2_myputc(char c);
36
37 int uart1_rcvbuf_is_data(void);
38 int uart2_rcvbuf_is_data(void);
39 int uart1_rcvbuf_getc(void);
40 int uart2_rcvbuf_getc(void);
41 void uart1_rcvbuf_clear(void);
42 void uart2_rcvbuf_clear(void);
43
44 void uart1_init(unsigned int mode, unsigned int sts, unsigned int baud);
45 void uart2_init(unsigned int mode, unsigned int sts, unsigned int baud);
46
47 #endif