Вопрос про вывод на LCD

Анатолий439781k
Offline
Зарегистрирован: 13.01.2015

Вот код. Подскажите, почему информация выводится только на первую строку поочередно, а не так как задумано на все 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;                                              
}  

 

Araris
Offline
Зарегистрирован: 09.11.2012
    
Допишите lcd.begin(cols,rows); в void setup()
 
Анатолий439781k
Offline
Зарегистрирован: 13.01.2015

Спасибо. Я узнал на аватарке Модеста. Уважаю юмор.

Araris
Offline
Зарегистрирован: 09.11.2012

Не за что. Респект Вам, Модеста нынче не всякий узнает.