int debug_scanf(const char *fmt_ptr, ...) { char temp_buf[IO_MAXLINE]; va_list ap; uint32_t i; char result; va_start(ap, fmt_ptr); temp_buf[0] = '\0'; for (i = 0; i < IO_MAXLINE; i++) { temp_buf[i] = result = debug_getchar(); if (result == '\n') { /* End of Line */ break; } temp_buf[i + 1] = '\0'; } result = scan_prv(temp_buf, (char *)fmt_ptr, ap); va_end(ap); return result; }
/*lint -save -e970 Disable MISRA rule (6.3) checking. */ int main(void) /*lint -restore Enable MISRA rule (6.3) checking. */ { /* Write your local variable definition here */ int DataUart0; /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/ PE_low_level_init(); /*** End of Processor Expert internal initialization. ***/ /* Write your code here */ /* For example: for(;;) { } */ debug_printf("FRDM-K64F System Init!\r\n"); // Envia mensaje de inicio debug_printf("Wayt for Data over UART0 <-> OpenSDA debug port\r\n"); // Imprime mensaje informativo for(;;){ DataUart0=debug_getchar(); // Espera dato por UART debug_printf("%%c:%c\r\n",DataUart0); // Imprime dato recibido en formato char debug_printf("%%u:%u\r\n",DataUart0); // Imprime dato recibido en formato entero debug_printf("%%x:0x%x\r\n",DataUart0); // Imprime dato recibido en formato hexadecimal debug_printf("%%d:%d\r\n",DataUart0); // Imprime dato recibido en formato decimal debug_printf("\r\n"); // Imprime salto de linea } /*** Don't write any code pass this line, or it will be deleted during code generation. ***/ /*** RTOS startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T MODIFY THIS CODE!!! ***/ #ifdef PEX_RTOS_START PEX_RTOS_START(); /* Startup of the selected RTOS. Macro is defined by the RTOS component. */ #endif /*** End of RTOS startup code. ***/ /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/ for(;;){} /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/ } /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/
void hello (void *arg) { for (;;) { debug_printf ("Hello from `%s'! (Press Enter)\n", arg); debug_getchar (); } }
/* * Read a newline-terminated string from stream. */ unsigned char * debug_gets (unsigned char *buf, int len) { int c; unsigned char *s; s = buf; while (--len > 0) { c = debug_getchar (); if (c == '\b') { if (s > buf) { --s; debug_puts ("\b \b"); } continue; } if (c == '\r') c = '\n'; debug_putchar (0, c); *s++ = c; if (c == '\n') break; } *s = '\0'; return buf; }
int main (void) { UBRR = ((int) (KHZ * 1000L / 9600) + 8) / 16 - 1; // Set baud rate for (;;) { debug_printf ("Hello, World!\n"); debug_getchar (); } }
void task (void *arg) { for (;;) { debug_printf ("Hello from `%s'!\n", arg); debug_printf ("Task space %d bytes, free %d bytes.\n", sizeof (task_space), task_stack_avail ((task_t*) task_space)); debug_puts ("(Press Enter)\n"); debug_getchar (); } }
int main (void) { /* Baud 9600. */ UBRR = ((int) (KHZ * 1000L / 9600) + 8) / 16 - 1; for (;;) { debug_puts ("Hello, World!\n"); debug_getchar(); } }
int main (void) { unsigned i; debug_puts ("\33[H\33[2J"); for (i=0;;i++) { debug_printf ("[%d] Hello, world!\n", i); debug_getchar(); }; };
void udp_task (void *data) { int i; buf_t *p; unsigned old_count = 0; unsigned long start, end, elapsed; unsigned long long bytes; start = timer_milliseconds (&timer); debug_printf ("Press ENTER to start sending to %d.%d.%d.%d:%d\n", server_ip[0], server_ip[1], server_ip[2], server_ip[3], PORT); debug_getchar (); udp_socket (&sock, &ip, PORT); trace_udp.udps_ip = (unsigned)sock.ip; for (;;) { p = buf_alloc (&pool, BUF_SIZE * 4, 42); for (i = 0; i < BUF_SIZE; ++i) buf[i] = count++; memcpy (p->payload, buf, sizeof(buf)); if (!udp_sendto (&sock, p, server_ip, PORT)){ count -= BUF_SIZE; debug_printf ("Press ENTER to start sending to %@.4D:%d\n", server_ip, PORT); while (debug_peekchar () < 0) task_yield(); debug_getchar (); } if (timer_passed (&timer, start, 1000)) { end = timer_milliseconds (&timer); elapsed = end - start; bytes = (count - old_count) << 2; old_count = count; debug_printf ("snd rate: %lu (bytes/sec)\n", (unsigned) (bytes * 1000 / elapsed)); start = end; } } }
/* * Get the received byte without waiting. */ int debug_peekchar (void) { unsigned char c; if (debug_char >= 0) return debug_char; c = debug_getchar (); debug_char = c; return c; }
int debug_scanf(const char *fmt_ptr, ...) { char temp_buf[IO_MAXLINE]; va_list ap; uint32_t i; char result; /* Do nothing if the debug uart is not initialized.*/ if (s_debugConsole.type == kDebugConsoleNone) { return -1; } va_start(ap, fmt_ptr); temp_buf[0] = '\0'; for (i = 0; i < IO_MAXLINE; i++) { temp_buf[i] = result = debug_getchar(); if ((result == '\r') || (result == '\n')) { /* End of Line */ if (i == 0) { i = (uint32_t)-1; } else { break; } } temp_buf[i + 1] = '\0'; } result = scan_prv(temp_buf, (char *)fmt_ptr, ap); va_end(ap); return result; }
__inline unsigned char get_char(void) { return debug_getchar(1); }