roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 17:24

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 28 мар 2017, 13:47 
Не в сети

Зарегистрирован: 25 мар 2017, 10:40
Сообщения: 7
Eruman писал(а):


И еще почему
#include "../Wire/Wire.h"
Какая-то другая библиотека wire.h используется?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 28 мар 2017, 19:06 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
Пример рабочий 100%. Ошибки могут возникать при несовместимости библиотек, например, из-за разных версий. IDE 1.6.9 Скопировал из текстового поля в сообщении forum86/topic16626-30.html#p357516
Все собралось корректно.

А первая версия, без EEPROM, собирается?

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 28 мар 2017, 20:28 
Не в сети

Зарегистрирован: 25 мар 2017, 10:40
Сообщения: 7
Eruman писал(а):
Пример рабочий 100%. Ошибки могут возникать при несовместимости библиотек, например, из-за разных версий. IDE 1.6.9 Скопировал из текстового поля в сообщении forum86/topic16626-30.html#p357516
Все собралось корректно.

А первая версия, без EEPROM, собирается?

Первая версия без ПЗУ собирается без проблем.
Можно попросить вас выложить библиотеки Wire и C24LC16B, которые вы используете?
То что текст программы правильный, я не сомневаюсь.
Такая же катавасия происходит при компиляции оригинального TinyBasic с поддержкой SD карты,
при чем, что отдельные скетчи SD карту видят и работают с ней.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 29 мар 2017, 13:39 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
Wire стандартный, по умолчанию.
Вторую либу прилагаю. Позже я от нее, кстати, отказался. Все силами стандартных библиотек получилось. Позже выложу, если интересно, там чуть замороченнее.


Вложения:
c24LC16B.rar [1.76 КиБ]
Скачиваний: 0

_________________
Соединяй и здравствуй.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 29 мар 2017, 14:19 
Не в сети

Зарегистрирован: 25 мар 2017, 10:40
Сообщения: 7
Спасибо за библиотеку, по крайней мере теперь компилируется без ошибок,
вечером попробую загрузить в мегу.
Эта либа немного отличается от той, на которую идет ссылка в теле файла TinyBasicEruman02.ino.
Может, поправить ссылку на нее в теле скетча?
В новой либе используются Wire.write вместо Wire.send и
Wire.read вместо Wire.receive.
Вот у меня из-за этого ошибки и сыпались.

Интересно посмотреть, как вы обошлись стандартными либами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 29 мар 2017, 18:24 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
Действительно, вспомнил, я правил в либе эти строки. Просто машинально, автозаменил, и в памяти не отложилось :D
В заголовке пишу
Код:
//#define needEEPROM 1          // подключать ли внешнюю ППЗУ? (1 - внешняя, 0 - ПЗУ МК)
//#define sizeROM_over16 1      // ППЗУ>2K?  ( 1 для 24с64, 0 для 24с16)

//...
#ifdef needEEPROM
#include <Wire.h>
#else
#include <EEPROM.h>
#endif


В программе обращения настроены на две функции работы с ППЗУ
Код:
void writeEEPROM(unsigned int eeaddress, byte data )
{
#ifdef needEEPROM
  Wire.beginTransmission(disk1);
#ifdef sizeROM_over16
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write((int)(eeaddress & 0xFF)); // LSB
#else
  Wire.write((int)(eeaddress));
#endif
  Wire.write(data);
  Wire.endTransmission();
  //delay(15);
#else
  EEPROM.write((int)eeaddress,(byte)data);
#endif
}

byte readEEPROM(unsigned int eeaddress )
{
  byte rdata = 0xFF;
#ifdef needEEPROM
  Wire.beginTransmission(disk1);
#ifdef sizeROM_over16
  Wire.write((int)(eeaddress >> 8));   // MSB
  Wire.write((int)(eeaddress & 0xFF)); // LSB
#else
  Wire.write((int)(eeaddress));
#endif
  Wire.endTransmission();
  Wire.requestFrom(disk1, 1);
  // if (Wire.read()) rdata = Wire.read();
  rdata = Wire.read();
#else
  rdata = EEPROM.read( (int)(eeaddress) );
#endif
  return rdata;
}


В заголовке раскомментируем нужные строки, и пользуемся. Так можно настроить на разные микросхемы ППЗУ и вообще пользоваться внутренней ПЗУ атМеги.

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 29 мар 2017, 22:34 
Не в сети

Зарегистрирован: 25 мар 2017, 10:40
Сообщения: 7
Eruman писал(а):
Действительно, вспомнил, я правил в либе эти строки.

В программе обращения настроены на две функции работы с ППЗУ


Поправил библиотеку - все заработало.

В какую часть программы надо вставить эти две функции работы с ППЗУ?

Пытаюсь найти в теле программы что надо изменить для Меги328, поскольку она обладает в 2 раза больше памятью.

При применении ППЗУ большей емкости количество блоков по 256 байт можно увеличить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 30 мар 2017, 01:19 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
Первая в заголовок (перед setup()), вторая - в конце листинга, там где идет обращение к ППЗУ. После удаления предыдущей функции работы с ППЗУ и библиотеки c24lc16b все обращения будут видны как ошибки. заменить после этого старые обращения на новые автозаменой.

Можно увеличить. И поправить строку "static unsigned char bmemory[312];" в большую сторону

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 21 апр 2017, 08:24 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
Запустил Бейсик на stm32f103. Брал тут: https://ru.aliexpress.com/item/Free-Shipping-STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-Forarduino/32473214083.html.
Оперативной памяти 20К, флеш шикарен. Только нет ППЗУ, и пятивольтовые микросхемы подключать нельзя, но это решаемо. В общем, рекомендую. :good:

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 21 апр 2017, 12:33 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
STM - неинтересно, там памяти до уопы и нет такой массовости (дуни на нах не дешевые). Вся прелесть проекта на атмеге, что из г+палки получаем аля виртуальную машину, вообще с таким подходом можно и денди эмулировать и много чего (где не требуется производительность или она меньше..).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 21 апр 2017, 19:05 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
104р. - дорого? массовости нет? :ROFL: Может быть я не ясно выразился, но её программировал в Arduino IDE.

Мне понравилось, прикрутил к ней SD-карту, и вообще красота, Бейсик с кладовочкой :D

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 08 май 2017, 23:23 
Не в сети

Зарегистрирован: 25 мар 2017, 10:40
Сообщения: 7
Еще интересный проект на Ардуино. Tiny Basic запускается из под эмулируемой ОС CP/M.
https://acdc.foxylab.com/node/76


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 09 май 2017, 11:48 
Не в сети
Аватара пользователя

Зарегистрирован: 12 авг 2010, 15:10
Сообщения: 897
Откуда: Астраханская обл.
Классный проект, однако без ОЗУ - только эксперимент, не более.

_________________
Соединяй и здравствуй.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 09 май 2017, 14:48 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
basic и pascal давно померли, не тратьте время на них.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Basic и Arduino
СообщениеДобавлено: 09 май 2017, 16:24 
Не в сети

Зарегистрирован: 14 мар 2007, 12:15
Сообщения: 11
Откуда: Россия
Добавит FRAM, будет эмуляция ОЗУ, а проект действительно интересный.

Eruman писал(а):
Запустил Бейсик на stm32f103.

Я тоже запустил Бейсик на STM32F103C8T6, в основе лежит проект https://github.com/robinhedwards/ArduinoBASIC
Кое-что пришлось подрихтовать под STM32, попутно добавил Beep - генерцию звука.
Вложение:
DSC_4563_hf_.JPG
DSC_4563_hf_.JPG [ 175.59 КиБ | Просмотров: 2119 ]

Спасибо всем, что подкинули идею, теперь представляю как можно сделать свой интерпретатор.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO