I want to print in a terminal the "%"character when I put printf(" %c % ",var); the % doesn't print why??
I test both of the senctence in TC
printf("%c%%",'c'); printf("%c\%",'c');
c%
If you are getting "c%" from
printf("%c\%",'c');
"At the printf() sentence,it couldn't jump out,as TI never became 1. what's the reason?" Purely a guess, since you have not shown your UART initialization code, but your UART is not initialized properly or you have not set the TI bit in initialization (as required by Keil's putchar routine, presuming that's what you are using).