Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Обработка массива данных

Непрочитано 06.09.2010, 19:01  
AGAT0365
Прописка
 
Регистрация: 17.02.2009
Сообщений: 154
Сказал спасибо: 14
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
AGAT0365 на пути к лучшему
По умолчанию Re: Обработка массива данных

Компилятор CVAVR,а всё переустановил его и нет косяка. Спасибо.
Реклама:
AGAT0365 вне форума  
Непрочитано 08.09.2010, 17:24  
Zemlyanov
Гражданин KAZUS.RUN
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Не когда не размещал переменные в flash, но так как в SRAM мой массив не влезает то разместил его в flash память МК. Теперь возникли проблемы с присвоением значений элементам массива, компилятор ругается на такое выражение baza[y]=t; . Я так понимаю что есть какие то особенности для работы с переменной в flash, работа через указатели или как то. Подскажите как правильно работать с переменной данного типа,

flash unsigned char baza[1000];

void time_control (unsigned int baza_kl)
{
unsigned char y,t;
for(y=1;y‹baz_key;y+=20)
{
t=baza[y];
if (t›0)
{
t-=1;
baza[y]=t;
}
Zemlyanov вне форума  
Непрочитано 08.09.2010, 17:28  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от Zemlyanov Посмотреть сообщение
Не когда не размещал переменные в flash, но так как в SRAM мой массив не влезает то разместил его в flash память МК. Теперь возникли проблемы с присвоением значений элементам массива, компилятор ругается на такое выражение baza[y]=t; . Я так понимаю что есть какие то особенности для работы с переменной в flash
Ага, есть. Это константы! t=baza[y] допустимо, наоборот - нет. Так что флеш для изменяющихся данных не годится.
kison вне форума  
Непрочитано 08.09.2010, 17:30  
Zemlyanov
Гражданин KAZUS.RUN
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Я в шоке , что делать, куда пхать массив?
Zemlyanov вне форума  
Непрочитано 08.09.2010, 17:42  
_guardianangel
Почётный гражданин KAZUS.RUN
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,138
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: Обработка массива данных

Приделывай внешнию память
_guardianangel вне форума  
Непрочитано 08.09.2010, 18:19  
Zemlyanov
Гражданин KAZUS.RUN
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от _guardianangel Посмотреть сообщение
Приделывай внешнию память
Платы разведены и изготовлены. Да ещё по времени обработки напряги

Вот блин, ситуация пипец. А может как то через указатель можно? Не ужели без вариантов , только внешняя память
Ну как же так я промахнулся.
Zemlyanov вне форума  
Непрочитано 08.09.2010, 21:10  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Обработка массива данных

А зачем тебе памяти так много? Объясни всю задачу. 9 шансов из 10, что просто саму задачу осмыслить не можешь.
SasaVitebsk вне форума  
Непрочитано 08.09.2010, 21:23  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

Контроллер то какой? Может есть совместимый по выводам с бОльшим объемом ОЗУ?
Как то один знакомый в похожей ситуации выкрутился сделав маленькую плату с SPI озушкой и воткнув ее прямо в разъем для программирования. Это конечно костыль, но на крайний случай можно так и сделать. Если программируется через те же выводы, где SPI и туда ничего не подключено.
kison вне форума  
Непрочитано 08.09.2010, 21:27  
kison
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

Сообщение от Zemlyanov Посмотреть сообщение
А может как то через указатель можно? Не ужели без вариантов
Ну вообще флеш можно изменять. Просто ресурс у нее небольшой - 10т раз гарантируется производителем, а дальше имеют право начаться сбои. Кроме того это медленно. А так я согласен с SasaVitebsk - не зная задачи трудно что то посоветовать. Может масив можно ужать в несколько раз и он все же влезет в имеющуюся память.
kison вне форума  
Непрочитано 08.09.2010, 22:51  
Zemlyanov
Гражданин KAZUS.RUN
 
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
Zemlyanov на пути к лучшему
По умолчанию Re: Обработка массива данных

Контроллер Mega168, SPI занят, контролер является клиентом в Ethernet сети, ему с сервера поступают данные (это рассматривалось в начале темы), на данный момент клиенты по мере необходимости делают запрос на сервер и получают нужные пакеты данных, и получается что серверу нужно постоянно отсылать одни и те же данные разным клиентам, а хотелось сделать чтобы сервер по ходу изменений в нем данных слал пакеты всем клиентам а они буферизировали их и обращались за нужными данными не к серверу а к буферу (массиву). При таком режиме сервер работает стабильно и не загружен запросами. Но видно не судьба , придется переделывать программу сервера. А какую бы вы память посоветовали ? Мне данные нужно хранить только при включенном контролере. Хоть гляну сколько стоит , может придется делать и с внешней памятью, если серверу ума вставить не получиться

Последний раз редактировалось Zemlyanov; 08.09.2010 в 22:55.
Zemlyanov вне форума  
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать преобразование данных? Zemlyanov Микроконтроллеры, АЦП, память и т.д 9 30.08.2010 16:00
Передача 8-битных данных через мобильник begun Микроконтроллеры, АЦП, память и т.д 9 12.07.2010 13:36
Контроль целостности передаваемых данных ksd034 Микроконтроллеры, АЦП, память и т.д 4 08.07.2010 21:46
Последовательный вывод данных Mitrar Микроконтроллеры, АЦП, память и т.д 9 14.05.2010 11:57
AVR USART+прерывания=потеря данных umgah Микроконтроллеры, АЦП, память и т.д 54 10.04.2010 16:22


Часовой пояс GMT +4, время: 13:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.