Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
06.09.2010, 19:01
|
|
Прописка
Регистрация: 17.02.2009
Сообщений: 154
Сказал спасибо: 14
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
|
Re: Обработка массива данных
Компилятор CVAVR,а всё переустановил его и нет косяка. Спасибо.
|
|
|
|
08.09.2010, 17:24
|
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
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;
}
|
|
|
|
08.09.2010, 17:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Обработка массива данных
Сообщение от Zemlyanov
|
Не когда не размещал переменные в flash, но так как в SRAM мой массив не влезает то разместил его в flash память МК. Теперь возникли проблемы с присвоением значений элементам массива, компилятор ругается на такое выражение baza[y]=t; . Я так понимаю что есть какие то особенности для работы с переменной в flash
|
Ага, есть. Это константы! t=baza[y] допустимо, наоборот - нет. Так что флеш для изменяющихся данных не годится.
|
|
|
|
08.09.2010, 17:30
|
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Обработка массива данных
Я в шоке , что делать, куда пхать массив?
|
|
|
|
08.09.2010, 17:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
|
Re: Обработка массива данных
Приделывай внешнию память
|
|
|
|
08.09.2010, 18:19
|
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Обработка массива данных
Сообщение от _guardianangel
|
Приделывай внешнию память
|
Платы разведены и изготовлены. Да ещё по времени обработки напряги
Вот блин, ситуация пипец. А может как то через указатель можно? Не ужели без вариантов , только внешняя память
Ну как же так я промахнулся.
|
|
|
|
08.09.2010, 21:10
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Обработка массива данных
А зачем тебе памяти так много? Объясни всю задачу. 9 шансов из 10, что просто саму задачу осмыслить не можешь.
|
|
|
|
08.09.2010, 21:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Обработка массива данных
Контроллер то какой? Может есть совместимый по выводам с бОльшим объемом ОЗУ?
Как то один знакомый в похожей ситуации выкрутился сделав маленькую плату с SPI озушкой и воткнув ее прямо в разъем для программирования. Это конечно костыль, но на крайний случай можно так и сделать. Если программируется через те же выводы, где SPI и туда ничего не подключено.
|
|
|
|
08.09.2010, 21:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: Обработка массива данных
Сообщение от Zemlyanov
|
А может как то через указатель можно? Не ужели без вариантов
|
Ну вообще флеш можно изменять. Просто ресурс у нее небольшой - 10т раз гарантируется производителем, а дальше имеют право начаться сбои. Кроме того это медленно. А так я согласен с SasaVitebsk - не зная задачи трудно что то посоветовать. Может масив можно ужать в несколько раз и он все же влезет в имеющуюся память.
|
|
|
|
08.09.2010, 22:51
|
|
Гражданин KAZUS.RU
Регистрация: 17.09.2006
Сообщений: 633
Сказал спасибо: 78
Сказали Спасибо 69 раз(а) в 57 сообщении(ях)
|
Re: Обработка массива данных
Контроллер Mega168, SPI занят, контролер является клиентом в Ethernet сети, ему с сервера поступают данные (это рассматривалось в начале темы), на данный момент клиенты по мере необходимости делают запрос на сервер и получают нужные пакеты данных, и получается что серверу нужно постоянно отсылать одни и те же данные разным клиентам, а хотелось сделать чтобы сервер по ходу изменений в нем данных слал пакеты всем клиентам а они буферизировали их и обращались за нужными данными не к серверу а к буферу (массиву). При таком режиме сервер работает стабильно и не загружен запросами. Но видно не судьба , придется переделывать программу сервера. А какую бы вы память посоветовали ? Мне данные нужно хранить только при включенном контролере. Хоть гляну сколько стоит , может придется делать и с внешней памятью, если серверу ума вставить не получиться
Последний раз редактировалось Zemlyanov; 08.09.2010 в 22:55.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
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.
|
|