Дисплей S65 и таймер

RainMan
Offline
Зарегистрирован: 21.06.2011

 Доброго дня! Подскажите что делать. Подключил к ардуине нано дисплей от Siemens s65. Все работает. Потом написал отдельно скетч для обработки прерывания по таймеру. Как только в жтом скетче пытаюсь проинициализировать дисплей, сразу же перестает работать мой обработчик прерывания. Библиотека дисплея явно пользуется 2 таймером. Что посоветуете? Искать другой дисплей, у которого библиотека не использует таймер?

RainMan
Offline
Зарегистрирован: 21.06.2011

вот выяснил, что прерывание всетаки вызывается, НО после инициализации дисплея, перестает работать комманда digitalWrite(13, 1). Обработчик таймера включал 13 выход по нажатию кнопки. Сейчас же после инициализации дисплея светодиод на 13 выходе не зажигается ни из программы не из обработчика прерывания по таймеру 

maksim
Offline
Зарегистрирован: 12.02.2012

Покажите весь код. 

carduino.ru
Offline
Зарегистрирован: 06.12.2011

А как мы тебе без кода, сможем помочь? 

у Вас Arduino Nano v3 или Carduino Nano v7 ?

RainMan
Offline
Зарегистрирован: 21.06.2011

Библиотека надеюсь у вас есть?
В приведенном коде загорается светодиод на 13 выходе. Если снять комментарий с строки // lcd.init(4); //spi-clk = Fcpu/4 то светодиод не зажигается не из прерывания не из основной пограммы.

#include
#include

unsigned long timpause=1;

S65Display lcd;

void flash() //обработка прерывания таймера
{ //будет вызыватся по истечении времени указанного в timpause

digitalWrite(13, 1);
Serial.println("Test");
}

void setup()
{
//nit LCD.
// lcd.init(4); //spi-clk = Fcpu/4

MsTimer2::set(1, flash); // 1мсек
MsTimer2::start();
Serial.begin(9600);
pinMode(13, OUTPUT);
}

void loop(){
digitalWrite(13, 1);
}

RainMan
Offline
Зарегистрирован: 21.06.2011

Улетели кудато названия библиотек. Вот внизу , только без скобок
#include S65Display.h
#include MsTimer2.h

maksim
Offline
Зарегистрирован: 12.02.2012
maksim
Offline
Зарегистрирован: 12.02.2012

Я что-то не пойму, а дисплей у вас разве не подключен к 13 выводу??? Если я правильно понял, то дисплей подключен по SPI, который занимает 11, 12 и 13 выводы и после инициализации дисплея как раз эти выводы (в том числе и 13) заняты SPI. Так что у вас не таймер не работает, а 13 вывод. Если вы подключите светодиод например к 4 выводу, то скорее всего у вас все заработает.

#include S65Display.h
#include MsTimer2.h

unsigned long timpause=1; 

S65Display lcd;

void flash() //обработка прерывания таймера
{ //будет вызыватся по истечении времени указанного в timpause 
  digitalWrite(4, 1);
  Serial.println("Test");
  digitalWrite(4, 0);
} 

void setup()
{
  nit LCD.
  lcd.init(4); //spi-clk = Fcpu/4
  MsTimer2::set(1, flash); // 1мсек
  MsTimer2::start();
  Serial.begin(9600);
  pinMode(4, OUTPUT);
}

void loop(){
  //digitalWrite(4, 1);
}


 

RainMan
Offline
Зарегистрирован: 21.06.2011

ребята действительно завтыкал. Извините за беспокойство. Дисплей подключал еще пол года назад, уже и забыл что 13 вывод занят. А примеры все на нем отрабатываю.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Будьте добры, подскажите как расположить эти файлы. Пробовал по разному, не могу откомпелировать.

maksim
Offline
Зарегистрирован: 12.02.2012

Можете просто положить эти файлы в папку со скейтчем и подключать их без указания пути:

#include "glch.h"
#include "lfsr.h"
...
#include "f8x11.h"

 

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Да, я так тоже пробовал. Ошибок наверное миллион вылазит... В тех файлах есть ссылки на другие, которые тоже должны где-то находиться.

maksim
Offline
Зарегистрирован: 12.02.2012

Подключать нужно в основном файле - Test65.ino. Должны лежать рядом если указаны.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

maksim пишет:

Подключать нужно в основном файле - Test65.ino. 

Хм, совсем запутался. А что такое Test65.ino?

maksim
Offline
Зарегистрирован: 12.02.2012

tests65.ino - основной файл

hugoboss317
Offline
Зарегистрирован: 21.03.2013

maksim пишет:

.ino

что это за расширение и как оно относится к IDE?

Мне всё-таки кажется будет проще указать в коде путь.

P.S. A RainMan ещё с нами? На каком контроллере работает вышеупомянутая библиотека?

1. Sharp LS020B8UD05

2. Hitachi HD66773 (LPH8836-4)

3. Epson L2F50126

 

radiofannat
radiofannat аватар
Offline
Зарегистрирован: 11.09.2013

здравствуйте,  где где то валяется Epson L2F50126 всё никак руки не дойдут...  читал в блогах что у многих проблемы с этим индикатором

hugoboss317
Offline
Зарегистрирован: 21.03.2013

 У меня все три и ещё мешок других. Цуко ни один ещё не зажёг (А70, АХ72/75, А65, S65, парадокс 1100,3310). Только время убил. Занимайся, если получится, распидалишь как и что. по этому есть 3 бибы, ни одна не компелируется. Даже подключать не пытался.

maksim
Offline
Зарегистрирован: 12.02.2012

hugoboss317 пишет:

что это за расширение и как оно относится к IDE?

http://arduino.cc/en/Guide/Environment - второй абзац, третье предложение.

Дайте ссылку откуда качали библиотеку и что пытаетесь скомпилировать.

hugoboss317
Offline
Зарегистрирован: 21.03.2013

maksim пишет:
Дайте ссылку откуда качали библиотеку ...

http://www.superkranz.de/christian/S65_Display/data/s65_glcd_V01.zip

hugoboss317
Offline
Зарегистрирован: 21.03.2013

maksim пишет:
http://arduino.cc/en/Guide/Environment - второй абзац, третье предложение

ммм. изначально я так и подумал. Только я ведь не указывал этот файл сам на себя. Расмологал файлы так же как и других библиотек только IDE их не "видит".

hugoboss317
Offline
Зарегистрирован: 21.03.2013

 случайно ни у кого не осталость этой библиотеки. Чтот не могу нагуглить, а по прошлой ссылке уже нет. s65_glcd_V01.zip

//************************************

P.S. нашёл

biggreen2014
Offline
Зарегистрирован: 13.07.2015

Ребята, киньте библиотеку,а то что то худо без нее...

hugoboss317
Offline
Зарегистрирован: 21.03.2013

http://arduino.ru/forum/programmirovanie/mega-i-displei-ot-siemens-s65

В этой теме в самом начале ссылка. Рекомендую по ней скачать "старую библиотеку с примерами" https://github.com/watterott/S65-Shield/tree/da4eeeb2683e48dbeafd6923b010ca1eb41107df/src