Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
16.12.2018, 23:16
|
#1
|
Частый гость
Регистрация: 21.07.2017
Адрес: Пермь
Сообщений: 29
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Помогите с ошибкой
Пишу новый код на компиляторе CVAVR, прописываю АЦП.
Ранее этот блок работал и отлично снимал показания вольтметра и амперметра. В этот раз уткнулся в него и выдает ошибку, всю голову сломал искать причину или глаз замылил или туплю.
Ошибка на две строки expression must have 'pointer to function' type
Код:
|
{
lcd_gotoxy(0,1); //ошибка на эту строку
result=((5.00*adc_data(3))*10.16/1024);
sprintf(lcd_buffer,"U=%.2fV",result);
lcd_puts(lcd_buffer);
lcd_gotoxy(8,1); //ошибка на эту строку
result=((5.12*adc_data(2))/1024);
sprintf(lcd_buffer,"I=%.2fuA",result);
lcd_puts(lcd_buffer);
}
} |
|
|
|
|
17.12.2018, 00:19
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 30.09.2006
Сообщений: 1,562
Сказал спасибо: 158
Сказали Спасибо 662 раз(а) в 432 сообщении(ях)
|
Re: Помогите с ошибкой
на adc_data(2) и (3) cкорее ругается...
|
|
|
|
17.12.2018, 00:49
|
#3
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
|
Re: Помогите с ошибкой
Ruslik334, выражение таки должно иметь тип указатель на функцию.
Где-то или с декларациями, или (пере)определениями типов перемудрили.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
17.12.2018, 01:14
|
#4
|
Частый гость
Регистрация: 21.07.2017
Адрес: Пермь
Сообщений: 29
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите с ошибкой
Сообщение от Ara41
|
на adc_data(2) и (3) cкорее ругается...
|
не оно, пробовал, да и это стандартный код на номера пинов
|
|
|
|
17.12.2018, 01:23
|
#5
|
Почётный гражданин KAZUS.RU
Регистрация: 30.09.2006
Сообщений: 1,562
Сказал спасибо: 158
Сказали Спасибо 662 раз(а) в 432 сообщении(ях)
|
Re: Помогите с ошибкой
Сообщение от Ruslik334
|
не оно, пробовал, да и это стандартный код на номера пинов
|
не знаю насчет стандартов, но визард генерит adc_data как массив, значит надо обращаться к нему adc_data[3], adc_data[2]
|
|
|
|
17.12.2018, 01:44
|
#6
|
Частый гость
Регистрация: 21.07.2017
Адрес: Пермь
Сообщений: 29
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите с ошибкой
Сообщение от mike-y-k
|
Ruslik334, выражение таки должно иметь тип указатель на функцию.
Где-то или с декларациями, или (пере)определениями типов перемудрили.
|
Не указал частоту опроса
#define void delay_ms(1000)
Ругаться перестал на те ошибки, теперь появилась ошибка
declaration syntax error
interrupt [ADC_INT] void adc_isr(void)
еще раз пробежался по коду сравнивая, но ничего не нашел, где то пишут, что это из за библиотеки бывает stdio.h
|
|
|
|
17.12.2018, 04:31
|
#7
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,260
Сказал спасибо: 11,170
Сказали Спасибо 3,860 раз(а) в 2,930 сообщении(ях)
|
Re: Помогите с ошибкой
Ruslik334, а там точно нет точки с запятой в конце строки
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
17.12.2018, 09:58
|
#8
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,368
Сказал спасибо: 85
Сказали Спасибо 626 раз(а) в 378 сообщении(ях)
|
Re: Помогите с ошибкой
Сообщение от Ruslik334
|
#define void delay_ms(1000)
|
Так а зачем дефайном переопределять зарезервированное слово "void".
Теперь у Вас вместо void подставляется delay_ms(1000)
|
|
|
Эти 2 пользователя(ей) сказали Спасибо pambaru за это сообщение:
|
|
|
17.12.2018, 19:41
|
#9
|
Прохожий
Регистрация: 30.04.2009
Адрес: г.Новосибирск
Сообщений: 7
Сказал спасибо: 12
Сказали Спасибо 2 раз(а) в 1 сообщении
|
Re: Помогите с ошибкой
А в конфигураторе проекта библиотека LCD Support подключена?
|
|
|
|
19.12.2018, 01:39
|
#10
|
Частый гость
Регистрация: 21.07.2017
Адрес: Пермь
Сообщений: 29
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Помогите с ошибкой
Сообщение от pambaru
|
Так а зачем дефайном переопределять зарезервированное слово "void".
Теперь у Вас вместо void подставляется delay_ms(1000)
|
Проблема решена, дефайн тут не причем.
Говорю же глаз замылился
Сообщение от Ara41
|
не знаю насчет стандартов, но визард генерит adc_data как массив, значит надо обращаться к нему adc_data[3], adc_data[2]
|
Сразу не обратил внимание, действительно ругался на скобки, вместо квадратных обычные впендюрил, на это и ругался
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:06.
|
|