- Code: Tout sélectionner
#include <os.h>
//#include <nspireio/nspireio.h>
#include <nspireio/uart.hpp>
#include <nspireio/console.hpp>
int key_already_pressed = 0;
int is_uart_data = 0;
char oldinput[100] = {0};
char voidlist[100] = {0};
int main(void)
{
assert_ndless_rev(874);
//clrscr();
nio_console csl;
nio_init(&csl,NIO_MAX_COLS,NIO_MAX_ROWS,0,0,NIO_COLOR_WHITE,NIO_COLOR_BLACK,TRUE);
nio_set_default(&csl);
nio_color(&csl,NIO_COLOR_BLACK,NIO_COLOR_WHITE);
nio_printf("Nspire UART Chat by Samy. Compiled the %s At %s\n",__DATE__,__TIME__);
nio_color(&csl,NIO_COLOR_WHITE,NIO_COLOR_BLACK);
nio_puts("Press any ESC to exit and CTRL to send msg...\n");
while(!isKeyPressed(KEY_NSPIRE_ESC)){
if(isKeyPressed(KEY_NSPIRE_CTRL) && !key_already_pressed){
nio_printf(">");
char input[100] = {0};
nio_getsn(input,100);
uart_printf(input);
key_already_pressed = 1;
}
if(!any_key_pressed())
key_already_pressed = 0;
if(uart_ready()) {
is_uart_data = 1;
}
if(uart_ready()) {
char input[100] = {0};
uart_getsn(input,100);
if(strcmp(oldinput,input) != 0) {
if(input != voidlist) {
nio_puts(input);
strcpy(oldinput,input);
strcpy(input,voidlist);
}
}
}
}
nio_puts("Tests finished.");
nio_free(&csl);
return 0;
}
Le seul petit problème c'est que le code envoie des caratere a l'infinit sur le port serie(par exemple si j'envoie LLLLLLLLLLLLLLLLLLLLLLLL Le port serie et l'afichage vas continuellement envoyer des L et pareil avec d'autre lettre)
Sinon si je peut envoyer et recevoir normalement a part que la console serie et l'ecrant de la Ti sont flood par cette lettre.
Est-ce quelqu'un peut me corriger cela sa fait un bon moment que je cherche .
Merci d'avance