Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik  
Форум Picbasic.ru » Программирование МК » Proton PicBasic » PIC16F886 Массив (Битый массив почему то...)
PIC16F886 Массив
mikhail09p Дата: Пн, 04.02.2019, 15:26  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 519
Репутация: 13   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Здравствуйте.
Интересная проблема вылезла. Словами: смотрю в Протеусе массивы, который создал.
При старте в последних ячейках мусор, это раз. (Даже когда Clear).
В эти последние ячейки не записывается то, что в программе. Это два.
Когда массив делаю бОльше, ещё всё хуже.
В прикрепленном примере только часть кода, где идёт чтение АЦП и запись в
массив. В реаальном коде хуже - последние 6 ячеек всех переменных битые

В прикреплённом архиве также и скрины симулятора.
Протеус и 7 и 8 одинаково... 
Может, кто с таким боролся?
Прикрепления: New.rar(507.7 Kb)

Сообщение отредактировал mikhail09p - Пн, 04.02.2019, 15:28
ЯНДЕКС Дата: 04.02.2019
ivan_fd Дата: Пн, 04.02.2019, 16:22  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1036
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

В протоне с этим проблемы всегда были.
Переменная Dim Im_set[15] As Word - стоит на границе банков памяти. Часть в первом банке, часть во втором. В ассемблерном коде прекрасно видно.

Код
variable Im_set#0=103,Im_set#0H=104,Im_set#1=105,Im_set#1H=106
variable Im_set#2=107,Im_set#2H=108,Im_set#3=109,Im_set#3H=110
variable Im_set#4=111,Im_set#4H=112,Im_set#5=113,Im_set#5H=114
variable Im_set#6=115,Im_set#6H=116,Im_set#7=117,Im_set#7H=118
variable Im_set#8=119,Im_set#8H=120,Im_set#9=121,Im_set#9H=122
variable Im_set#10=123,Im_set#10H=124,Im_set#11=125,Im_set#11H=126
variable Im_set#12=127,Im_set#12H=160,Im_set#13=161,Im_set#13H=162
variable Im_set#14=163,Im_set#14H=164

Банк 0 оканчивается на адресе 127!


Меня все время преследуют умные мысли...но я быстрее!!!
mikhail09p Дата: Пн, 04.02.2019, 17:18  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 519
Репутация: 13   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Так а чего же он не говорит! Обычно предупреждает, когда единичная переменная...
И как с этим бороться? Создавать неиспользуемые переменные, чтобы сместить до 160?
Рассержусь и переделаю всю платку на STM...
ivan_fd Дата: Пн, 04.02.2019, 17:34  |                                                                                                                Сообщение # 4
Группа: Модераторы
Ранг:  Специалист
Сообщений: 1036
Репутация: 83   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Ну можно на ПИК18. Или нормальный компилятор...

Меня все время преследуют умные мысли...но я быстрее!!!
mikhail09p Дата: Чт, 07.02.2019, 20:34  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 519
Репутация: 13   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Ещё вопрос.
В PIC16F73 нету ЕПРОМ. Как сохранять настройки? В памяти программ возможно?
xvovanx Дата: Чт, 07.02.2019, 21:14  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 356
Репутация: 23   ±
Замечания:   ±
На сайте с 02.05.2013

Статус: Offline

Цитата mikhail09p ()
В PIC16F73 нету ЕПРОМ. Как сохранять настройки? В памяти программ возможно?


Можно или как выход для большего объема- подключить чип памяти 24Схх и по I2C сохранять в ней

Сообщение отредактировал xvovanx - Чт, 07.02.2019, 21:18
mikhail09p Дата: Чт, 07.02.2019, 21:30  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 519
Репутация: 13   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Цитата xvovanx ()
подключить чип памяти 24Схх

Нет, не вариант.
Форум Picbasic.ru » Программирование МК » Proton PicBasic » PIC16F886 Массив (Битый массив почему то...)
  • Страница 1 из 1
  • 1
Поиск: