90#if ((!SAM4L) && (!SAMG55))
91 sam_uart_opt_t uart_settings;
92 uart_settings.ul_mck = sysclk_get_peripheral_hz();
93 uart_settings.ul_baudrate = opt->
baudrate;
105 if (UART == (Uart*)p_usart) {
106 sysclk_enable_peripheral_clock(ID_UART);
108 uart_init((Uart*)p_usart, &uart_settings);
112 if (
UART0 == (Uart*)p_usart) {
113 sysclk_enable_peripheral_clock(
ID_UART0);
115 uart_init((Uart*)p_usart, &uart_settings);
119 if (
UART1 == (Uart*)p_usart) {
120 sysclk_enable_peripheral_clock(
ID_UART1);
122 uart_init((Uart*)p_usart, &uart_settings);
126 if (UART2 == (Uart*)p_usart) {
127 sysclk_enable_peripheral_clock(ID_UART2);
129 uart_init((Uart*)p_usart, &uart_settings);
133 if (UART3 == (Uart*)p_usart) {
134 sysclk_enable_peripheral_clock(ID_UART3);
136 uart_init((Uart*)p_usart, &uart_settings);
140 if (UART4 == (Uart*)p_usart) {
141 sysclk_enable_peripheral_clock(ID_UART4);
143 uart_init((Uart*)p_usart, &uart_settings);
150 if (USART == p_usart) {
152 sysclk_enable_peripheral_clock(ID_USART);
155 sysclk_get_peripheral_hz());
158 sysclk_enable_peripheral_clock(p_usart);
161 sysclk_get_peripheral_bus_hz(p_usart));
172 flexcom_enable(FLEXCOM0);
173 flexcom_set_opmode(FLEXCOM0, FLEXCOM_USART);
175 sysclk_enable_peripheral_clock(
ID_USART0);
179 sysclk_get_peripheral_hz());
182 sysclk_enable_peripheral_clock(p_usart);
185 sysclk_get_peripheral_bus_hz(p_usart));
196 flexcom_enable(FLEXCOM1);
197 flexcom_set_opmode(FLEXCOM1, FLEXCOM_USART);
199 sysclk_enable_peripheral_clock(
ID_USART1);
203 sysclk_get_peripheral_hz());
206 sysclk_enable_peripheral_clock(p_usart);
209 sysclk_get_peripheral_bus_hz(p_usart));
217 if (USART2 == p_usart) {
220 flexcom_enable(FLEXCOM2);
221 flexcom_set_opmode(FLEXCOM2, FLEXCOM_USART);
223 sysclk_enable_peripheral_clock(ID_USART2);
227 sysclk_get_peripheral_hz());
230 sysclk_enable_peripheral_clock(p_usart);
233 sysclk_get_peripheral_bus_hz(p_usart));
241 if (USART3 == p_usart) {
244 flexcom_enable(FLEXCOM3);
245 flexcom_set_opmode(FLEXCOM3, FLEXCOM_USART);
247 sysclk_enable_peripheral_clock(ID_USART3);
251 sysclk_get_peripheral_hz());
254 sysclk_enable_peripheral_clock(p_usart);
257 sysclk_get_peripheral_bus_hz(p_usart));
265 if (USART4 == p_usart) {
268 flexcom_enable(FLEXCOM4);
269 flexcom_set_opmode(FLEXCOM4, FLEXCOM_USART);
271 sysclk_enable_peripheral_clock(ID_USART4);
275 sysclk_get_peripheral_hz());
278 sysclk_enable_peripheral_clock(p_usart);
281 sysclk_get_peripheral_bus_hz(p_usart));
289 if (USART5 == p_usart) {
292 flexcom_enable(FLEXCOM5);
293 flexcom_set_opmode(FLEXCOM5, FLEXCOM_USART);
295 sysclk_enable_peripheral_clock(ID_USART5);
299 sysclk_get_peripheral_hz());
302 sysclk_enable_peripheral_clock(p_usart);
305 sysclk_get_peripheral_bus_hz(p_usart));
313 if (USART6 == p_usart) {
316 flexcom_enable(FLEXCOM6);
317 flexcom_set_opmode(FLEXCOM6, FLEXCOM_USART);
319 sysclk_enable_peripheral_clock(ID_USART6);
323 sysclk_get_peripheral_hz());
326 sysclk_enable_peripheral_clock(p_usart);
329 sysclk_get_peripheral_bus_hz(p_usart));
337 if (USART7 == p_usart) {
340 flexcom_enable(FLEXCOM7);
341 flexcom_set_opmode(FLEXCOM7, FLEXCOM_USART);
343 sysclk_enable_peripheral_clock(ID_USART7);
347 sysclk_get_peripheral_hz());
350 sysclk_enable_peripheral_clock(p_usart);
353 sysclk_get_peripheral_bus_hz(p_usart));
484 if (UART == (Uart*)p_usart) {
485 while (uart_read((Uart*)p_usart, data));
489 if (
UART0 == (Uart*)p_usart) {
490 while (uart_read((Uart*)p_usart, data));
494 if (
UART1 == (Uart*)p_usart) {
495 while (uart_read((Uart*)p_usart, data));
499 if (UART2 == (Uart*)p_usart) {
500 while (uart_read((Uart*)p_usart, data));
504 if (UART3 == (Uart*)p_usart) {
505 while (uart_read((Uart*)p_usart, data));
512 if (USART == p_usart) {
514 *data = (uint8_t)(val & 0xFF);
520 *data = (uint8_t)(val & 0xFF);
526 *data = (uint8_t)(val & 0xFF);
530 if (USART2 == p_usart) {
532 *data = (uint8_t)(val & 0xFF);
536 if (USART3 == p_usart) {
538 *data = (uint8_t)(val & 0xFF);
542 if (USART4 == p_usart) {
544 *data = (uint8_t)(val & 0xFF);
548 if (USART5 == p_usart) {
550 *data = (uint8_t)(val & 0xFF);
554 if (USART6 == p_usart) {
556 *data = (uint8_t)(val & 0xFF);
560 if (USART7 == p_usart) {
562 *data = (uint8_t)(val & 0xFF);