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

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

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

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

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

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

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

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

Компилятор CVAVR,а всё переустановил его и нет косяка. Спасибо.
Реклама:
AGAT0365 вне форума  
Непрочитано 08.09.2010, 17:24  
Zemlyanov
Гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Обработка массива данных

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

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

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

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

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

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

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

Сообщение от Zemlyanov Посмотреть сообщение
А может как то через указатель можно? Не ужели без вариантов
Ну вообще флеш можно изменять. Просто ресурс у нее небольшой - 10т раз гарантируется производителем, а дальше имеют право начаться сбои. Кроме того это медленно. А так я согласен с SasaVitebsk - не зная задачи трудно что то посоветовать. Может масив можно ужать в несколько раз и он все же влезет в имеющуюся память.
kison вне форума  
Непрочитано 08.09.2010, 22:51  
Zemlyanov
Гражданин KAZUS.RU
 
Регистрация: 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, время: 19:19.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot