Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/60: Рейтинг темы: голосов - 60, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 191

Вопрос по microC

09.11.2011, 19:14. Показов 11607. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал осваивать компилятор microC. Затруднений особых не было. Прочитав русский хелп вполне все понятно. Но вот возник вопрос. Как жестко прописать данные в еепром по конкретным адресам, чтобы они уже были зашиты программатором сразу? Можно наверно применить и ассемблеровскую вставочку, но неужели больше никак?
С записью массива данных во флеш-память тоже не понятно как это делается. Достаточно ли будет указать тип static const чтобы компилятор прописал этот массив именно во флеш, а не хранил его в ОЗУ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2011, 19:14
Ответы с готовыми решениями:

Компилятор MicroC PRO для PIC
Привет всем ! Кто работает в MicroC PRO V5.40 для PIC откликнитесь ! Сложности с библиотекой .... Вячеслав

Написать программу для microC. И составить блок-схему ее работы
Доброго времени суток,форумчане! Необходимо написать программу для на microC для работы микроконтроллера pic16f877. На выводах микро должны...

MicroC - тупой компилятор?
Погнавшись, в очередной раз, за халявным сыром или точнее библиотеками, решил использовать широко разрекламированный микроС. Библиотеки...

14
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 594
09.11.2011, 20:27
в начале программы, до бесконечного цикла. Функцией еепром_райт из библиотеки.
0
0 / 0 / 0
Регистрация: 04.07.2011
Сообщений: 85
09.11.2011, 20:39
Цитата Сообщение от ImTuTb!
в начале программы, до бесконечного цикла. Функцией еепром_райт из библиотеки.
угу, и будет контроллер свою еепром перезаписывать после каждого ресета?
видимо, имелось ввиду использование директив препроцессора, как на асме.
мне вот тоже интересно - как? в справке об этом ни слова
я пользуюсь eeprom editor из утилит microC (вкладка Tools) - набиваю туда содержимое, компилятор это потом включает в .hex

массив - да, обозвать const
0
0 / 0 / 0
Регистрация: 04.03.2011
Сообщений: 594
10.11.2011, 11:58
Цитата Сообщение от dostorrm
Цитата Сообщение от ImTuTb!
в начале программы, до бесконечного цикла. Функцией еепром_райт из библиотеки.
угу, и будет контроллер свою еепром перезаписывать после каждого ресета?
видимо, имелось ввиду использование директив препроцессора, как на асме.
мне вот тоже интересно - как? в справке об этом ни слова
я пользуюсь eeprom editor из утилит microC (вкладка Tools) - набиваю туда содержимое, компилятор это потом включает в .hex

массив - да, обозвать const

Ну не знаю. Сделать if. Если в ячейке "0" не ноль - то значения в еепром присать и сбросить ячейку "0" в ноль.
При первом запуске в ней FF, еепром пропишется, а её занулит. А после ресета пройдет мимо.
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
10.11.2011, 12:11
в отдельном хидере (желательно)
__EEPROM_DATA(0xff, 0x03, 0x03, 0x10, 0x03, 0xf0, 0x03, 0x10);
__EEPROM_DATA(0x01, 0x60, 0x03, 0x10, 0x03, 0x5e, 0x03, 0x10);
__EEPROM_DATA(0x01, 0x0f, 0x03, 0x10, 0x03, 0x77, 0x03, 0x10);
__EEPROM_DATA(0x01, 0x11, 0x03, 0x10, 0x05, 0x00, 0x03, 0x10);
и т.д.
заполняется с 0 адреса по возрастающей в момент прошивки.
0
0 / 0 / 0
Регистрация: 04.07.2011
Сообщений: 85
10.11.2011, 14:52
у меня в таком виде работать отказывается.
Перекопал хелп, там ненавязчиво так сказано использовать EEPROM_Editor и прикреплять получившийся .ihex к проекту
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
10.11.2011, 15:43
ну да, сорри) перепутал это из ХайТеч компилятора)
0
dorkmoom
11.11.2011, 14:41
если у тебя программатор PICKit2 тогда можно прямо в нет изменить еепром зашить и при обновление прошивки отключать запись в еепром!!
1 / 1 / 0
Регистрация: 19.12.2009
Сообщений: 2
11.11.2011, 15:09
Так, к слову...
Такая функция есть в PicBasic Pro

DATA {@Location,}Somstant{,Somstant...}
Store somstomts in on-chip non-volatile EEPROM when the divice is first programmed.
0
0 / 0 / 0
Регистрация: 04.07.2011
Сообщений: 85
11.11.2011, 17:04
зачем сразу PICKit2 ?
обычный WinPIC800 с прогером ExtraPIC умеет то же самое.
а вообще, я знаю, у кого нужно спросить:
SWK, подскажите, плиз, как вы с еепромом из микросей работаете?
0
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 191
11.11.2011, 17:31
Дааа. Хорошенький я вопрос поднял. Думал один я такой незнайка. Воспользовался я EEPROM_Editor. Свою проблему решил. Но это все равно не очень красиво получается. Программа должна быть читабельна для любого программиста. А так посмотрит человек на файл.с, и откуда ему знать что в еепром надо что-то прописывать. Вообщем если нет такой директивы в microC, то это ему большой минус!
0
SWK
11.11.2011, 18:18
Цитата Сообщение от dostorrm
SWK, подскажите, плиз, как вы с еепромом из микросей работаете?
Да я в основном МикроПаскалем для PIC пользуюсь, и с EEPROM пока особо не заморачивался, для сохранения каких - то данных при их изменениях в программе, обычно EEPROM_Read и EEPROM_Write хватало.

Сейчас центральный контроллер на Меге 128 разрабатываю, - вот там уж нагорожу...
Кроме внутреннего EEPROM и ОЗУ, ставлю еще и внешнее ОЗУ на 64кбайт, 2 штуки EEPROM 24С512 на I2C, флэшку SD-Card на 2 гигобайта, и еще 512мбайт Serial Ftosh Memory W25X40 на SPI.
Вот там уж наворочу, постараюсь задействовать по полной. Хранение карт, заданий, расписаний, и прочую текущую и долговременную информацию.
Но я пока занимаюсь разводкой платы и начинкой ее всякими устройствами, программой же занимаюсь мало, только для проверки увязки периферии между собой. Будет готова плата - займусь уже написанием программы с параллельной ее отладкой по кускам, по мере написания. Как обычно, начну со связи с компом на USORT для отладки, подачи команд и приема всякой информации от контроллера. Замкну главный цикл, сделаю системный таймер на 1мс, дешифратор команд, и начну пихать остальное. По ходу пока продумываю, что там будет и как.
Плата уже в основном почти завершена, но остался свободный уголок примерно 40х60мм, и несколько портов, думаю, что туда еще лучше всунуть... Жалко, место пропадает. Но и что попало совать не хочется. В крайнем случае, оставлю просто разьемы на свободных ногах, потом что-нибудь можно будет прицепить. Пока один из кандидатов - гироскоп с вертолета, но его еще надо сначала немного поковырять отдельно. Но можно его и в башню поставить, там ресурсов тоже еще свободных много.
SWK
11.11.2011, 18:29
Цитата Сообщение от Dimys_K
Программа должна быть читабельна для любого программиста. А так посмотрит человек на файл.с, и откуда ему знать что в еепром надо что-то прописывать. Вообщем если нет такой директивы в microC, то это ему большой минус!
Так ведь давно уже программа - не просто один текстовый файл, а целый проект, с кучей файлов и настроек. Это уже в любом компиляторе - обычное дело. Вон, в том же С, обычно целая прорва файлов, без которых тоже фиг что сделаешь. Некоторые вообще чуть ли не каждую функцию отдельным файлом делают.

Имея же все файлы проекта, где в том числе и данные, зашиваемые в EEPROM, не проблема разобраться и понять, где что. А при компиляции данные для прошивки EEPROM будут включены в выходной HEX-файл. Да и вы, однажды воспользовавшись EEPROM - редактором, теперь не заносите же эти данные снова при каждом открытии проекта, они же где-то хранятся.

Да и никто не мешает вам в начале программы оформить в виде комментариев данные, зашиваемые в EEPROM, чтобы не забыть, - будут перед глазами.
0 / 0 / 0
Регистрация: 04.07.2011
Сообщений: 85
11.11.2011, 18:45
SWK, спасибо!
вам бы перенести содержимое вашего мозга на бунигу в виде многотомной монографии, думаю, Хоровиц с Хиллом удавились бы от зависти ))
многие бы сей труд купили, многие
0
SWK
11.11.2011, 19:06
Цитата Сообщение от dostorrm
SWK, спасибо!
вам бы перенести содержимое вашего мозга на бунигу в виде многотомной монографии, думаю, Хоровиц с Хиллом удавились бы от зависти ))
многие бы сей труд купили, многие
Да мне в лом... Достаточно того, что только на этом форуме уже почти четыре с половиной тыщи сообщений накидал, из которых хотя бы половина - по делу... А есть еще и старый форум, да и другие места, где тоже присутствую. Мне хватает...
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2011, 19:06
Помогаю со студенческими работами здесь

Прирывание void interrupt(void) в MicroC
Добрый день кто подскажет почему не происходит вызов функции void interrupt(void){} Вот код: static volatile unsigned int TMR0...

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves)
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама по себе она нигде не используется: лишь...

VBulletin [ВОПРОС]: Меню и вопрос при регистрации
Помогите пожалуйста. У меня vbulletin 4.0.7 и после установки в верхнем меню есть лишняя навигация. Например: Главная Форум Blogs ...

Вопрос о картинках, вопрос о формулах
Всем доброго времени суток! Как обычно глупые вопросы... Вопрос первый, с сайта копируется информация (картинки + циферки ;-)) Так...

Вопрос по массивав, "институтский" вопрос.
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) В документации подобного не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru