Я написал небольшую функцию для отладки цели, которая посылает строку в терминал через USB:Проблем с преобразованием Int обугливаться в C
void localprint(char* msg){
if(strlen(msg) > 60){
usb_sendData(msg,60);
}
else usb_sendData(msg,strlen(msg));
} функция отлично работает для строк, как:
localprint(" I'm a test"),
сообщение отображается на терминале. Теперь я хочу, чтобы получить adcValue
, который является int
на терминале, потому что я пробовал:
char t= (char)(((int)'0')+getADCValue(9)); // getting the ADC value of 0th channel
localprint(&t);
это doens't работа на всех, я также пытался:
char t= (char) getADCVAlue(9);
localprint(&t);
он тоже не работает. Поэтому мой вопрос - это любая идея, как я могу это сделать. Я использую uC STM32f10xx и ARM gcc. спасибо за любой намек
спасибо за ваш ответ, я попытался использовать, но я получаю только 0. Я изменил размер буфера, но это не помогло. sprintf дает мне ошибку undefined ссылку на '_sbrk ' – Engine
и, кстати, ее 4 цифры – Engine