Does your application really need to perform the sprintf inside the UART ISR? If possible it would be better to run the sprintf in mainline code, filling a buffer that is just read by the ISR. That would probably cut the execution time of the ISR and its stack usage* greatly. * The C89 standard requires sprintf be able to output up to 509 characters per field in the format string. That usually means the library uses a temporary buffer of 509 or more characters on the stack. Some toolchains (eg TI MSP430) offer a non-compliant minimal mode which breaks this rule. The CC26xx toolchain defaults to standard-compliant mode, I'm not sure about MSP432.
↧