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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: demanik, ivan_fd  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Новые версии ПРОТОН
Новые версии ПРОТОН
xvovanx Дата: Пт, 24.07.2020, 19:13  |                                                                                                                Сообщение # 166
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 460
Репутация: 55   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата Bengun ()
Ты в 10 байтную переменную запихиваешь 15 байтную.

+100500
Изначально нужно все корректно задавать и присваивать, тогда и проблем не будет. Протон не обязан думать и исправлять явные ошибки переменных
Bengun Дата: Пт, 24.07.2020, 19:14  |                                                                                                                Сообщение # 167
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

Цитата Aleksey_174 ()
Ну по сути и в массив невозможно записать больше положенного
Как показывает ваш опыт, нет ничего невозможного. smile
Просто массивы/стринги нужно объявлять больше чем будет использовано в реале.
Или следить что туда будет писаться.
Aleksey_174 Дата: Пт, 24.07.2020, 19:37  |                                                                                                                Сообщение # 168
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 93
Репутация: 17   ±
Замечания:   ±
На сайте с 22.01.2017

Статус: Offline

А почему тогда с Word так проделываю (ради прикола), соседняя переменная не страдает.
Так и не хотите признавать что это глюк протона  smile
Bengun Дата: Пт, 24.07.2020, 19:44  |                                                                                                                Сообщение # 169
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

Цитата Aleksey_174 ()
Так и не хотите признавать что это глюк протона
  Вас это успокоит. smile
Такова структура процессора.
Не путайте переменные с массивами.
ivan_fd Дата: Сб, 25.07.2020, 11:39  |                                                                                                                Сообщение # 170
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1168
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата Aleksey_174 ()
А почему тогда с Word так проделываю (ради прикола), соседняя переменная не страдает.Так и не хотите признавать что это глюк протона
   Проделайте то же самое с элементом массива, например: value1[0] = 350;
Так же будет все ОК. А вы присваиваете одному, целому, массиву, другой, который меньше по размеру!
Как компилятор должен узнать, что у вас на уме. С массивами, любой компилятор, работает по одному элементу массива. То есть при написании value1 = value3, он копирует value3[0] в value1[0]....value3[9] в value1[9].. value3[10] в следующую ячейку памяти за value1[9].
И ни один компилятор по другому это не делает. В стандарте С99 есть операторы в которых указывается размер, что бы не выйти за пределы. Но и это не компилятор делает, а сам пользователь.


Меня все время преследуют умные мысли...но я быстрее!!!
xvovanx Дата: Чт, 26.08.2021, 09:11  |                                                                                                                Сообщение # 171
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 460
Репутация: 55   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Ложка дегтя по поводу новых версий Протона 3.7.Х.Х.
Столкнулся уже не первый раз - при больших мега проектах (код программы порядка 15 тыс.строк и много массивов) код после компиляции в железе отказывается нормально работать (оптимизатор кода вообще делает прошивку не рабочей, без оптимизатора кое как, но баги компиляции в работе программы начиная от сбоев в работе лишь некоторых условий, и вплоть до полной неадекватной работы контроллера. Пробовал уменьшать код на 10-15% - не влияет).
Порылся в своих архивах и проверил версии Протона 3.6.Х.Х. Полет отличный!
Стояла на 3 компах самая свежая версия Протона 3.7.3.6, проверял на всех компах и другие 3.7.Х.Х.-та же фигня, так что откатился назад на версию 3.6.0.3...
Вот как бывает, может кому будет полезна информация...

Сообщение отредактировал xvovanx - Чт, 26.08.2021, 09:43
ЯНДЕКС Дата: 26.08.2021
ivan_fd Дата: Сб, 28.08.2021, 14:07  |                                                                                                                Сообщение # 172
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1168
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

xvovanx, а таблетка применялась от старых версий?
Скорее всего это не поможет, но может попробовать с версией 3.7.0.8 или 3.7.1.6 с нормальным лекарством?
P.S: я уже и забыл когда на Протоне что то делал.


Меня все время преследуют умные мысли...но я быстрее!!!
Bengun Дата: Сб, 28.08.2021, 16:23  |                                                                                                                Сообщение # 173
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

Я сижу на проверенном временем 3.5.6.5.
Была из предыдущих версия, которая тоже компилила очень плохо с ошибками и багами.
ЗЫ
А что нового в версиях 3.7.х.х

Сообщение отредактировал Bengun - Сб, 28.08.2021, 16:26
ivan_fd Дата: Сб, 28.08.2021, 18:06  |                                                                                                                Сообщение # 174
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1168
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Цитата Bengun ()
А что нового в версиях 3.7.х.х

 С каждой версией компилятора есть файл Whats New в папке - ProtonIDE\PDS\Docs\
Там пишет, что добавили.

Вот файл от версии 3.7.1.6
Прикрепления: Whats_New.pdf(574.0 Kb)


Меня все время преследуют умные мысли...но я быстрее!!!
xvovanx Дата: Вс, 29.08.2021, 18:05  |                                                                                                                Сообщение # 175
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 460
Репутация: 55   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата ivan_fd ()
xvovanx, а таблетка применялась от старых версий?Скорее всего это не поможет, но может попробовать с версией 3.7.0.8 или 3.7.1.6 с нормальным лекарством?

С пилюльками был полный порядок, все как надо, каждая версия со своим лекарством. При проверках предыдущая версия полностью чистилась и новая устанавливалась с нуля. С малыми кодами работают полный порядок, а вот столкнулся с большими и все тут.
Цитата Bengun ()
Я сижу на проверенном временем 3.5.6.5.

Я тоже долго сидел на этой версии, очень нравилась, шустро компилировала и без ошибок. Но она почему то выдает ошибки компиляции на привязанные к программе массивы CDATA ... с графическими картинками и пришлось перейти на версии поновее.

Сообщение отредактировал xvovanx - Вс, 29.08.2021, 18:31
Bengun Дата: Вс, 29.08.2021, 21:05  |                                                                                                                Сообщение # 176
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

Цитата xvovanx ()
Но она почему то выдает ошибки компиляции на привязанные к программе массивы CDATA ... с графическими картинками и пришлось перейти на версии поновее.
все CDATA  держу в конце main файла. Вроде проблем не наблюдал.

ЗЫ
У меня есть версия 3.7.3.6.
Кто то тестил ее на работоспособность ?

Сообщение отредактировал Bengun - Вс, 29.08.2021, 21:29
xvovanx Дата: Пн, 30.08.2021, 09:09  |                                                                                                                Сообщение # 177
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 460
Репутация: 55   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата Bengun ()
все CDATA  держу в конце main файла. Вроде проблем не наблюдал.

Сам компилятор предупреждает, что если программой занято больше половины Flash памяти (полон Банк 0 и заполняется Банк 1), то все CDATA переносить в начало программы, чтобы не попасть на границу банков памяти. Да я пробовал всюду подгружаемые *.inc файлы с CDATA массивами переставлять - все равно в старой версии кидает ошибку компиляции.
Цитата Bengun ()
У меня есть версия 3.7.3.6.Кто то тестил ее на работоспособность ?

Отличная последняя новая версия, почти два года на ней сидел и горя не знал, только вот с очень большим проектом споткнулась.

Сообщение отредактировал xvovanx - Пн, 30.08.2021, 09:16
Bengun Дата: Пн, 30.08.2021, 09:49  |                                                                                                                Сообщение # 178
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

Цитата xvovanx ()
(полон Банк 0 и заполняется Банк 1)
Эта же проблема касается и больших переменных типа word. dword, string. Это специфика памяти контроллера. У меня когда такое вылазит, то перемещаю эти куски кода и переменные в цельные куски памяти.  В файле asm можно посмотреть все ячейки памяти всех переменных и масивов. Несколько перестановок их местами в коде и все гуд. На границу перехода банков памяти нужно ставить ячейки типа BYTE.
Цитата xvovanx ()
с очень большим проектом споткнулась
Очень большой проэкт это на какой объем флеша контроллера и какой контроллер ?
xvovanx Дата: Пн, 30.08.2021, 15:30  |                                                                                                                Сообщение # 179
Группа: Модераторы
Ранг:  Помогаю всем
Сообщений: 460
Репутация: 55   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата Bengun ()
Очень большой проэкт это на какой объем флеша контроллера и какой контроллер ?

Pic18F8722 (128K), занято прогой 79%, код проги чуть меньше 15тыс.строк (не считая прикрепленных CDATA массивов графики)
Прикрепления: 6526032.png(58.9 Kb)

Сообщение отредактировал xvovanx - Пн, 30.08.2021, 15:41
Bengun Дата: Чт, 02.09.2021, 11:25  |                                                                                                                Сообщение # 180
Группа: Проверенные
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

Цитата xvovanx ()
Pic18F8722 (128K), занято прогой 79%
Действительно много.

ЗЫ
где можно стащить таблетку на 3.7.1.6 и на 3.7.3.6
ну или на другие 3.7.хх рабочие версии.
буду благодарен.

Сообщение отредактировал Bengun - Чт, 02.09.2021, 11:45
Форум Picbasic.ru » Программирование МК » Proton PicBasic » Новые версии ПРОТОН
Поиск: