Свежие обсуждения
Микроконтроллеры

Ошибки при компиляции - прошу помочь !

1 2 5

Wladimir_TS: не помогло
Если на мыл из профиля пришлешь архив с проектом, завтра будет тебе компилируемый проект.

 

Отправил. Версию компилятора указывал. Есть еще вопросы по Delay.c. Там одна подпрограммв DelayUs похоже прописана 2жды - один раз в прикрепляемом Delay.h, второй в самом модуле. удалял ссылки на delay.h и условия по частоте. (Я-то в курсе, что частота тактирования у меня 10 МГц что более 2х по определению, даже если предположить ее деление на 4 (системная частота).

 

Wladimir_TS: Отправил.
Готово.
Открутите товарищу руки. Хотя-бы за то, что файл проекта не передал.
includить .c файлы - изврат.
Подход из ассемблера в .с программах до добра не доводит.

Перед прошивкой проверьте тип кристалла и фузы.

 

Wladimir_TS: Delayms и Delayus
Delayms - задержка указанная в миллисекундах;
Delayus - задержка указанная в микросекундах.
Это две нужные функции.

Wladimir_TS: удалял ссылки на delay.h и условия по частоте
Указание частоты нужно для корректной работы функций задержки. Например, при тактовой в 4 МГц для задержки на 1 мкс нужна одна команда nop, а при тактовой 8 МГц уже две.

P.S. Вложения посмотреть не могу, выбрасывает на главную

 

Сергей К, да там дело вообще не в delay было. Я почему сорцы попросил - как то в голове всё написанное не складывалось.
Чел, писавший программу, вместо того, чтобы делать нормальные модули с заголовочными файлами, которые компилируются по отдельности и линкуются, все .с файлы в main.c инклудами повключал. Соответственно, после добавления в проект всех .с файлов они пытались компилироваться как самостоятельные модули, но из за отсутствия объявлений ф-й и external переменных этого не получалось. В проект надо было только main добавлять. Там ещё по коду некоторое кол-во косяков вылезло уровня предупреждений (типа использование char* для указания на const char) и т.д.

 

Видимо автор со своим творением не шибко хотел расставаться

Для всех еще желающих - прикладываю архив с исходниками. Частота тактирования процессора выбрана 10 МГц. (максимально возможная для работы АЦП, выше смысла нет - жрет больше, а АЦП уже не тянет быстрее работать). Есть идея - разобравшись в логике работы полностью переписать программу ассемблером, а то занята почти вся память, а нужных функций нехватает.

 

Так заработало?

 

Wladimir_TS: Есть идея - разобравшись в логике работы полностью переписать программу ассемблером
Есть мнение, что дешевле поставить процессор с большей ROM. Даже ценой портирования на другую платформу. Труд программиста уже дороже железа. имхо.

 

К сожалению дома MPLABа не оказалось - сгинул вмести с HDD. Сижу - качаю А компилировать из командной строки - это для юниксоидов-мазохистом - там ключей на пол экрана, я смотрел, что оболочка выдает компилятору.

А касаемо процессора - 2431 - то получил семплом из-за кордона, похож в РФ их не возят. А с быстрым АЦП таким только в DSPICах только водятся.

На другую платформу - да на AVR с радостью, но где, его, AVR найти с 200000 выборок АЦПшкой при 10 битах разрядности найти - нетуть

 

Wladimir_TS: На другую платформу
Я на PIC24F посматривал, они дешевле PIC16 и PIC18 (на сайте производителя 1,5...2 бакса) но у нас их практически нет даже у основного поставщика