Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: DAlexV, ivan_fd  
Форум Picbasic.ru » Программирование МК » Swordfish » Пример работы с 0.96" OLED индикатором по I2C
Пример работы с 0.96" OLED индикатором по I2C
AndrF Дата: Вт, 06.01.2015, 17:32  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Это недорогие OLED-индикаторы (на Ebay сейчас стоят ~280 руб за штучку, например).

Проект с примером приложен (использовал PIC18F26K20 c аппаратным I2C - такие продаются около 100 руб за штучку).

Работает достаточно шустро - I2C работает на скорости в 1 MHz.

В примере производится очистка экрана (с фоном и без), ну и вывод нескольких строчек с разным размером шрифта (видео вышло не ахти какое, но что есть):



Код вызова при этом выглядит примерно так:


Код
Device = 18F26K20
Clock = 16

Include "Utils.bas"
Include "SSD1306.bas"

Dim i As Byte

DelayMs(200)
SetAllDigital

TRISA = $00

SSD1306.Initialize()

While True
     PORTA.0 = Not PORTA.0

    Cls(i)

    Print( 2, 6, "Test2", 2, 2)
    Print( " Test1", 1, 1)
    Print( 255, 2, "12:37", 3, 3)

    i = i + 1
    if i > 3 Then i = 0 EndIf

     DelayMS(500)
Wend
Прикрепления: SDD1306.rar (78.8 Kb)

Сообщение отредактировал AndrF - Ср, 07.01.2015, 12:03
ЯНДЕКС Дата: 06.01.2015
AndrF Дата: Ср, 07.01.2015, 20:09  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Сегодня задействовал установленный на плате DS3231...

Кстати, разыскивается шрифт. Назначение - отображение времени, температуры... В приведенном выше примере использовался отмасштабированный 5x7, но при увеличении его большом увеличении, понятное дело, становятся видны ступеньки:



Так что нужен шрифт подходящего размера, чтобы заменить им то что на экранчике выше отображается синим цветом...
Прикрепления: 4710706.jpg (3.6 Kb)

Сообщение отредактировал AndrF - Ср, 07.01.2015, 20:11
Ethno Дата: Пн, 19.01.2015, 17:42  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Цитата AndrF ()
Проект с примером приложен (использовал PIC18F26K20 c аппаратным I2C - такие продаются около 100 руб за штучку).Работает достаточно шустро - I2C работает на скорости в 1 MHz.

В примере производится очистка экрана (с фоном и без), ну и вывод нескольких строчек с разным размером шрифта (видео вышло не ахти какое, но что есть):
У меня не компилируется...А можно hex на тест....?
AndrF Дата: Пн, 19.01.2015, 18:02  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Цитата Ethno ()
У меня не компилируется...

На что хоть ругается?

Цитата Ethno ()
А можно hex на тест....?

У меня сейчас нет ничего под рукой - разве только в выходные буду там где проект...

Добавлено (19.01.2015, 18:01)
---------------------------------------------
Ethno

Единственное что смог - проверил компиляцию проекта - компилируется нормальное. Единственное что ругается что переменная i не инициализирована. Ну это просто вставь i = 0 перед циклом.

Добавлено (19.01.2015, 18:02)
---------------------------------------------
Ethno

Кстати, Main.hex в проекте есть!

Сообщение отредактировал AndrF - Пн, 19.01.2015, 17:55
Ethno Дата: Пн, 19.01.2015, 18:05  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Цитата AndrF ()
На что хоть ругается?
Unable to open system file
AndrF Дата: Пн, 19.01.2015, 18:12  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Цитата Ethno ()
Unable to open system file

А хоть какой-то проект вообще компилируется?

Добавлено (19.01.2015, 18:11)
---------------------------------------------
У меня компиляция того проекта проходит вот так:

Цитата
Clean: Deleting intermediary and output files.
Clean Warning: File "C:\Work\MyBoard\Swordfish\Main.COF" doesn't exist.
Clean: Deleted file "F:\A\Swordfish\MyBoardPrj.mcs".
Clean: Done.
Executing: "C:\Program Files\Mecanique\Swordfish\Swordfish.exe" Main.bas -p18F26K20
Swordfish BASIC Compiler 2.2.2.5 (ICC 1.1.6.4)
Copyright © 2011-2014 Mecanique
All Rights Reserved.
Warning[] F:\A\Swordfish\Main.bas 21 : Variable 'i' might not have been initialized
Warning[] F:\A\Swordfish\Main.bas 28 : Variable 'i' might not have been initialized
ROM used : 3121 Bytes (4.76%)
RAM used : 102 Bytes (2.59%)
Loaded F:\A\Swordfish\Main.COF.
BUILD SUCCEEDED: Mon Jan 19 17:57:48 2015

Добавлено (19.01.2015, 18:12)
---------------------------------------------
Да, компиляцию запускаю из MPLAB...

Ethno Дата: Пн, 19.01.2015, 18:17  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

как в левой колонке изменить процессор а то Include 18F4552 Может из за этого. Потому что проекты из примеров нормально компилируются ... Понял у него нет на этот процессор установок, тогда вопрос где можно их взять. Это в папке LoaderHEX
Сообщение отредактировал Ethno - Пн, 19.01.2015, 18:24
AndrF Дата: Пн, 19.01.2015, 18:33  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Ethno

Посмотри здесь: http://www.sfcompiler.co.uk/wiki....Devices

Там в конце ссылка на описание как что надо сделать если процессора нет в списке.
Ethno Дата: Пн, 19.01.2015, 18:56  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Теперь ругается на Include "SSD1306.BAS"
Unable to open Include file : SSD1306.bas

Добавлено (19.01.2015, 18:56)
---------------------------------------------

Цитата Ethno ()
Теперь ругается на Include "SSD1306.BAS"Unable to open Include file : SSD1306.bas
Сообщение отредактировал Ethno - Пн, 19.01.2015, 18:49
перенес файлы из папки Library но теперь не находит файл setdigitalio.bas
Include "setdigitalio.bas"

Сообщение отредактировал Ethno - Пн, 19.01.2015, 18:49
AndrF Дата: Вт, 20.01.2015, 08:12  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Ну тут все понятно - это из-за использования старой версии Swordfish - она не понимает папки в подкаталоге программы. Ну и файлы библиотек у вас старые.

setdigitalio.bas можно забрать здесь:

http://www.sfcompiler.co.uk/wiki....gitalIO

Ну и еще что - если потребуется...

Добавлено (20.01.2015, 08:12)
---------------------------------------------
Кстати, если использовать контроллеры из списка Firewing, то можно было бы бесплатно использовать его.

Сообщение отредактировал AndrF - Вт, 20.01.2015, 08:16
Ethno Дата: Вт, 20.01.2015, 14:25  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Цитата AndrF ()
Ну и еще что - если потребуется.
файл скачал но опять теже проблемы теперь ругается при компиляции на
Public Dim SetAllDigital As SetDigitalIO.SetAllDigital в файле Util
Прикрепления: 1824089.jpg (195.8 Kb)

Сообщение отредактировал Ethno - Вт, 20.01.2015, 14:27
ЯНДЕКС Дата: 20.01.2015
AndrF Дата: Вт, 20.01.2015, 14:45  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Тогда просто убери остальные библиотеки из папки программы, оставь только SSD1306.bas. Тогда будут использоваться старые библиотеки SWordfish из его папок. 

Собственно ругается из-за вызова  процедуры SetAllDigital (из модуля Utils.bas), которая устанавливает все порты контроллера цифровыми. Так что тебе надо разобраться как ее вызвать в старой версии. Ну или установить порты обычным методом.
Ethno Дата: Вт, 20.01.2015, 15:05  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Спасибо сейчас попробую

Добавлено (20.01.2015, 15:05)
---------------------------------------------
нет, наверное старая версия рыбы, где можно скачать новую?

AndrF Дата: Вт, 20.01.2015, 15:06  |                                                                                                                Сообщение # 14
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 145
Репутация: 3   ±
Замечания:   ±
На сайте с 03.02.2012

Статус: Offline

Я купил. Но поделиться не могу - ставится лишь на три машины с проверкой через интернет...
Ethno Дата: Вт, 20.01.2015, 15:13  |                                                                                                                Сообщение # 15
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 91
Репутация: 2   ±
Замечания:   ±
На сайте с 11.12.2012

Статус: Offline

Скачал СЕ 2.2.18 компилирует но ругается. Извините что мучаю, но очень хочется включить индикатор
Прикрепления: 0319971.jpg (138.6 Kb)

Сообщение отредактировал Ethno - Вт, 20.01.2015, 15:15
Форум Picbasic.ru » Программирование МК » Swordfish » Пример работы с 0.96" OLED индикатором по I2C
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: