[an error occurred while processing this directive]
KEIL C51 исскуство программирования
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Rostu 09 июля 2006 г. 17:13

Я так понимаю, что для многих ето, как изобретения колеса. Но вот натыкаемся мы все на грабли. Посему могбы кто- то дать пару советов из своего опыта.
Я не супер программист, но в пожилом возрасте как то надо выживать. Как писать код без волшибства?
Например имеется KEIL C51, RTX51, AT89C51CC03. Написал 50К и тут началось...

1. KEIL в разных задачах TASK резервирует одно и тоже место в RAM. Поетому столкнулся со следующим запускается подпрограмма1 из TASK1, в ето время ее прерывает TASK2(что норнально для RTX51) и подпрограмма2 из TASK2, переписывает данные в подпрограмме1. Долго все проверял пока я ето понял.
Теперь панический ужас, что делать, как защититься от такого. Попытался убать оптимизацию(была уровень 7),перестала работать вся программа
Я в шоке, что делать дальще.

2. И еще KEIL выдает предупреждение, что например TASK1 и TASK2 вызывают одну и ту же подпрограмму. В одних случаях для меня ето не критично в других критично. Что делать?

3. Понасоздавал я огромных массивов, чтоб сохранить САN сообщения. Как в классике- больщой буффер для каждого канала. Теперь нехватает RAM(2К). Период прихода сообщений известен, есть САN протокол. Может достаточно по прерыванию сохранять сообщение в массиве программы, без буффера. Или пришло сообщение прерывание закрывает канал. Потом через время другая TASK считывает из канала даные и вновь разрещает прием данных из САN. Что посоветуете?

4. Надо ли бояться долгих прерываний и как их распознать?

5. При работе с медленной памятью SPI EEPROM, как не потерять данные. Как не тормозить выполнение других задач?

6. Если не тяжело подскажите, еще форумы где можно посоветовать.

Спасибо за ответы.
:-)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание