Вопрос про вывод на LCD
- Войдите на сайт для отправки комментариев
Чт, 10/09/2015 - 15:56
Вот код. Подскажите, почему информация выводится только на первую строку поочередно, а не так как задумано на все 4 строки?
#include <LiquidCrystal.h> LiquidCrystal lcd(3,5,7,9,10,11); float ADC0=0; float value; float DC; #include <util/delay.h> volatile unsigned int tachBuf; unsigned long tachValue; ISR(TIMER1_CAPT_vect) { TCNT1 = 0; tachBuf = ICR1+2; } //******************************************************************** void setup() { pinMode(8, INPUT); //Вход для импульсов спидометра pinMode(6, OUTPUT);//выход ШИМ TCCR0B = TCCR0B & 0b11111000 | 4;//частота ШИМ 243 Гц analogWrite(6, 128); //Запустить ШИМ digitalWrite(8, HIGH); // включить подтяжку входа Serial.begin(115200); TIM_Init();//инициализация таймера _delay_ms(200); } //******************************************************************** void loop() { cli(); tachValue = 250000/tachBuf; analogWrite(6, constrain(map(tachValue, 0, 150, 0, 255), 0, 255)); //Запустить ШИМ на 6 выводе (на 9 работать не будет) tachBuf=64000; sei(); _delay_ms(200); value=analogRead(ADC0); DC=value / 200; lcd.setCursor(0,0); lcd.print("Frequency = "); lcd.print(tachValue,DEC); lcd.print(" "); delay(100); lcd.setCursor(0,1); lcd.print("DC = "); lcd.print(DC); lcd.print(" volt "); delay(100); lcd.setCursor(0,2); lcd.print("11111111111 "); delay(100); lcd.setCursor(0,3); lcd.print("22222222222"); delay(100); } //******************************************************************** void TIM_Init(void) { TIMSK1=(1<<ICIE1); TCCR1A=(0<<COM1A1)|(0<<COM1A0)|(0<<WGM11)|(0<<WGM10); TCCR1B=(1<<ICNC1)|(1<<ICES1)|(0<<WGM13)|(0<<WGM12)|(0<<CS12)|(1<<CS11)|(1<<CS10); TCNT1 = 0; }
void
setup
()
Спасибо. Я узнал на аватарке Модеста. Уважаю юмор.
Не за что. Респект Вам, Модеста нынче не всякий узнает.