LCD Nokia6610 && BMP085
- Войдите на сайт для отправки комментариев
Пнд, 16/12/2013 - 22:02
Здравия. Подскажите пожалуйста с выводом на дисплей информации от барометра.
LCD работает, показывает текст первой части, но не показывает вторую - давление и температуру.
"Температуру" показывает, если закомментировать строки 24,25,28.
#include <avr/io.h> // Библиотека ввода-вывода #include <util/delay.h> // Библиотека задержек #include "Nokia6610_lcd_lib.c" // Подключаем драйвер LCD Nokia6610 ( ONLY PCF8833 ) #include <avr/pgmspace.h> #include <Wire.h> #include <BMP085.h> //Библиотека датчика давления #include "itoc.h" BMP085 tempPress(0x77); void setup() { nlcd_Init(); nlcd_Text(">MEGA BAROMETER<",10,3,WHITE,BLACK); nlcd_Text("< Pressure >",30,20,WHITE,BLACK); nlcd_Text("mm Pt. Ct",50,80,WHITE,BLACK); nlcd_Text("< Temperature >",70,7,WHITE,BLACK); nlcd_Text("C",90,80,WHITE,BLACK); } void loop() { tempPress.begin(); tempPress.readValues(); long pressure; char* buffer; pressure = tempPress.getPressure(); itoa(pressure, buffer, 10); nlcd_Text(buffer,10,3,GREEN,BLACK); nlcd_Text("+25.8",90,40,WHITE,BLACK); delay(3000); }
LiquidCrystal стандартный из Arduino 1.0.5
В то же время такой вывод срабатывает с обычным HD44780. Что я делаю не так? Подскажите пожалуйста ;)
LiquidCrystal тут же вообще ни к чему... :)
И строки не строки 24,25,28, а 20,21,24
На консоль вывести дебаг не могу - спалил :)
Доброго времени суток !
Вы объявили указатель buffer, но не выделили память. Попробуйте так char buffer[10]; И лучше вынесите это объявление в глобальные переменные, что бы при каждом входе в loop не выделять/освобождать стек.
И 20 строку перенесите в setup().
Спасибо, это действительно помогло.