Проблема с тахометром, помогите!
- Войдите на сайт для отправки комментариев
Сб, 28/01/2017 - 08:08
Год назад, слепил простелький тахометр для токарного станка, на дисплее LCD1602, све работало отлично. Тут решил поменять дисплей на матричный 12864, на проце ST7920 Сам дисплей запустил, работает нормально, а вот встроить код тахометра, который работал на 1602 не получается. Подскажите кто в рурсе, в чем может быть причина, где копать?
#define RPMpin 2 // датчик Холла
#include "U8glib.h"
U8GLIB_ST7920_128X64_4X u8g(10,11,12, U8G_PIN_NONE);
long microsold = 0;
int rpm = 0;
void setup() {
digitalWrite(RPMpin, 2);
attachInterrupt(0, RPM, FALLING);
}
void loop() {
u8g.firstPage();
do
{
u8g.setFont(u8g_font_fub17n);
u8g.setPrintPos(3, 22);
u8g.print(rpm);
delay(500);
}
void RPM ()
{
rpm = (1000.0/(millis() - microsold))*60;
microsold = millis();
}
while(u8g.nextPage());
}
А инициализация дисплея в setup разве не нужна?
u8g.begin();
А инициализация дисплея в setup разве не нужна?
u8g.begin();
Для этого дисплея видимо нет. Вот тут все описано. http://nnm.me/blogs/pencraft/arduino-i-graficheskiy-displey-128x64-s-kontrollerom-st7920/page2/
Ну не ужели никто не занимается графическими дисплеями, модет проблема в прерывании?
Дальше строки attachInterrupt(0, RPM, FALLING);
программа не идет.
Ну так открывайте файлы библиотеки, которую используете для подключения графического дисплея и читате описание. Во всех нормальных библиотеках в заголовочном файле расписано какие ресурсы микроконтроллера она использует. Без файлов библиотеки, которые вы не выложили, вам никто ничего не подскажет. Так как одни и те же функции можно реализовать разными способами, через таймеры/прерывания или через временные задержки.