#include #include #include #include #include #include struct usart_console *user_con, *admin_con; FILE *user_io, *admin_io; char user_line[128]; char admin_line[128]; int main(void) { rcc_init(); gpio_init(); user_con = console_init(0); admin_con = console_init(1); user_io = console_to_fp(user_con); admin_io = console_to_fp(admin_con); fprintf(user_io, "TBM-dev (built on " __DATE__ ")\n"); fprintf(admin_io, "TBM-dev (built on " __DATE__ ")\n"); fprintf(admin_io, "Welcome to the administrative interface.\n"); fprintf(user_io, "tbm # "); while (1) { if (console_getline(user_con, user_line, 128) == 0) { fprintf(user_io, "user: %s\n", user_line); fprintf(admin_io, "user: %s\n", user_line); *user_line = '\0'; } if (console_getline(admin_con, admin_line, 128) == 0) { fprintf(admin_io, "admin: %s\n", admin_line); fprintf(user_io, "admin: %s\n", admin_line); *admin_line = '\0'; } } return 0; }