Вообщем частично разобрался. Функция
Код
sprintf(buf, "%d", value);
вывод на дисплей переменной buf
работает. Также работает функция
Код
snprintf(buf, buf_size, "%d", value);
hd44780_write_string(&lcd, buf);
взял из готовой библиотеки для hd44780.
но ни то ни то не работает вместе с ADC зависает отладчик на выполнение строчки snprintf именно тогда когда АЦП вместе с ДМА, когда просто
Код
readADC1(u8 channel)
{
ADC_RegularChannelConfig(ADC1, channel, 1, ADC_SampleTime_1Cycles5);
// Start the conversion
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
// Wait until conversion completion
while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET);
// Get the conversion value
return ADC_GetConversionValue(ADC1);
}
то все показывает как надо.
(но при этом в коде с ДМА данные в буфер АЦП записываются корректно и отладчик не виснет)