int serial_set_cts(uint8_t pin) | int serial_set_cts(uint8_t pin) | ||||
{ | { | ||||
#if defined(KINETISK) | |||||
if (!(SIM_SCGC4 & SIM_SCGC4_UART0)) return 0; | if (!(SIM_SCGC4 & SIM_SCGC4_UART0)) return 0; | ||||
if (pin == 18) { | if (pin == 18) { | ||||
CORE_PIN18_CONFIG = PORT_PCR_MUX(3) | PORT_PCR_PE; // weak pulldown | CORE_PIN18_CONFIG = PORT_PCR_MUX(3) | PORT_PCR_PE; // weak pulldown | ||||
} | } | ||||
UART0_MODEM |= UART_MODEM_TXCTSE; | UART0_MODEM |= UART_MODEM_TXCTSE; | ||||
return 1; | return 1; | ||||
#else | |||||
return 0; | |||||
#endif | |||||
} | } | ||||
void serial_putchar(uint32_t c) | void serial_putchar(uint32_t c) |
int serial2_set_cts(uint8_t pin) | int serial2_set_cts(uint8_t pin) | ||||
{ | { | ||||
#if defined(KINETISK) | |||||
if (!(SIM_SCGC4 & SIM_SCGC4_UART1)) return 0; | if (!(SIM_SCGC4 & SIM_SCGC4_UART1)) return 0; | ||||
if (pin == 23) { | if (pin == 23) { | ||||
CORE_PIN23_CONFIG = PORT_PCR_MUX(3) | PORT_PCR_PE; // weak pulldown | CORE_PIN23_CONFIG = PORT_PCR_MUX(3) | PORT_PCR_PE; // weak pulldown | ||||
} | } | ||||
UART1_MODEM |= UART_MODEM_TXCTSE; | UART1_MODEM |= UART_MODEM_TXCTSE; | ||||
return 1; | return 1; | ||||
#else | |||||
return 0; | |||||
#endif | |||||
} | } | ||||
void serial2_putchar(uint32_t c) | void serial2_putchar(uint32_t c) |
int serial3_set_cts(uint8_t pin) | int serial3_set_cts(uint8_t pin) | ||||
{ | { | ||||
#if defined(KINETISK) | |||||
if (!(SIM_SCGC4 & SIM_SCGC4_UART2)) return 0; | if (!(SIM_SCGC4 & SIM_SCGC4_UART2)) return 0; | ||||
if (pin == 14) { | if (pin == 14) { | ||||
CORE_PIN14_CONFIG = PORT_PCR_MUX(3) | PORT_PCR_PE; // weak pulldown | CORE_PIN14_CONFIG = PORT_PCR_MUX(3) | PORT_PCR_PE; // weak pulldown | ||||
} | } | ||||
UART2_MODEM |= UART_MODEM_TXCTSE; | UART2_MODEM |= UART_MODEM_TXCTSE; | ||||
return 1; | return 1; | ||||
#else | |||||
return 0; | |||||
#endif | |||||
} | } | ||||
void serial3_putchar(uint32_t c) | void serial3_putchar(uint32_t c) |