Микроконтроллеры | Ошибки при компиляции - прошу помочь ! |
|
---|---|---|
Wladimir_TS: Напоминаю Wladimir_TS: Кстати вопрос ко всем - русскоязычное описание этого Си где-нибудь водится ? |
|
|
Понятно, что Си. С конкретным компилятором уже не знаю как разбираться. Английский мануал есть, но в нем черт ногу сломит. ЗЫЗ Если какая идея будет лучше на форуме, я завтра с работы выйду - там поковыряюсь. |
|
|
Вопрошаю еще раз. Хоть ткните носом - как подпрограммы оформить для корректного вызова ? |
|
|
void MoyaPodprogramma(void) void - отсуствие параметров Вызываете ее как MoyaPodprogramma(); или unsigned char MoyaPodprogramma(unsigned char T) вызов как: T1=MoyaPodprogramma(T5); или T1=MoyaPodprogramma(10); Подпрограмма должа быть выше места ее вызова. |
|
|
Там чуть больше проблем. Расшаренные переменные надо тоже выносить во внешние определения. |
|
|
Понятно - вопрос тогда такой, если эта подпрограмма находится в другом файле, тогда как ее надо описать ? В AVRовском ассемблере проще - там и файл в проект вносить надо и Include ему делать. И все проходит. А тут как-то непонятно. Еще вопрос - почему он на пустом месте после окончания описания подпрограммы и закрытия "}" требует зяпятую ? void Delay_Us( UBYTE dcnt) dcnt - это точно переменная UBYTE - это ее тип ? Error [1098] C:\OSC\projekt\proj\delay.c; 34. conflicting declarations for variable "_Delay_Us" (C:\OSC\projekt\proj\delay.c:34) Не могу понять структуру системы Delay.C и Вудфнюр - в них обоих есть по одинаковой подпрограмме DelayUs(x) Только в *.h она выглядит так : #define DelayUs(x) { unsigned char _dcnt; \ extern void DelayMs(unsigned char); Особенно последняя строка неясна ??? А в delay.c - вот так : void Delay_Us( UBYTE dcnt) |
|
|
extern void MoyaProgramma(void); Примерно так Насчет "пустого места" давайте пример. |
|
|
#include "delay.h" void #if XTAL_FREQ > 2MHZ |
|
|
Собственно вопрос о взаимодействии вот этого участка #define DelayUs(x) { unsigned char _dcnt; \ extern void DelayMs(unsigned char); С остальной программой в посте перед этим. |
|
|
Говорить что-то трудно, судя по всему, у вас дважды встретилось объявление _Delay_Us (возможно, в виде #define ... ). Просмотрите глазами все файлы - боюсь, другим способом проблему не решить... |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |