Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 530

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Вопрос специфичен и касается компилятора CodeVisionAVR, проблема в следующем, пытаюсь написать свою простенькую библиотеку для МК ATMega8 для управления встроенным таймером. Все пишу вроде бы правильно, но при подключении моего заголовочного файла к программе, компилятор ругается на функции из моего заголовка, что я так понимаю говорит о том что он его не видит почему то.
Кто в курсе прошу помочь разобраться в чем проблема.

Также прикрепляю файл с моей библиотекой.

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1.  


SOA Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: SOA (статус: Посетитель)
Вопрос отправлен: 31 марта 2014, 11:58
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 19; последнее сообщение — 4 апреля 2014, 17:34; участников в обсуждении: 4.
zvygin1964

zvygin1964 (статус: Посетитель), 31 марта 2014, 18:58 [#1]:

Для AVRStudio4 могу попробовать написать на ASM с управлением частотой прерывания таймеров по UART. Ваш код не мой.
Те, кто вам нужны живут тут: easyelectronics.ru
Толяныч

Толяныч (статус: 4-ый класс), 31 марта 2014, 20:58 [#2]:

Ну и не только. На radiokot.ru , несмотря на несерьезное название форума, очень много толковых ребят, шарящих в этой теме. Я - не из них :-), для меня CV как-то ни к чему.
SOA

SOA (статус: Посетитель), 31 марта 2014, 22:01 [#3]:

zvygin1964 21урок Еремина,не более:
На CVAVR тоже можно асм использовать, но мне на это заморачиваться не хочется, тем более что цель не в этом, а за ссылку спасибо, зарегистрировался.

Толяныч: опять пишу что про котэ знаю :-), но всеравно спасибо, собственно я на вашу помощь рассчитывал в этом вопросе :-D, но всеравно спасибо.
SOA

SOA (статус: Посетитель), 31 марта 2014, 23:49 [#4]:

Толяныч:
вы как я понял радиотехникой увлекаетесь, не подскажите случайно какой нибудь хороший мануал по Micro Cap?
min@y™

min@y™ (статус: Доктор наук), 1 апреля 2014, 00:31 [#5]:

Цитата (SOA):

но при подключении моего заголовочного файла к программе, компилятор ругается на функции из моего заголовка, что я так понимаю говорит о том что он его не видит почему то.

Текст сообщения об ошибке где? Это ж самое главное в вопросе! Можно скриншот.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Толяныч

Толяныч (статус: 4-ый класс), 1 апреля 2014, 10:29 [#6]:

Для меня это тоже больной вопрос. Я моделировал WorkBench'ом, но это редкостное гуано, imho. Люди-коты с увлечением моделируют Протеусом, мол, и железо моделирует, и работающий МК с программой, но видя на форуме горестные вопли "В Пр. работает, в железе - нет!" или наоборот - обхожусь так, паяльником.
Это если для моделирования. А платы развожу фриварнам Spring Layout.
Так что помочь не смог.
Буду рад видеть Вас на Р-Коте

:-)
SOA

SOA (статус: Посетитель), 2 апреля 2014, 22:14 [#7]:

min@y™:
Фишка в том что сообощения об ошибке как раз таки нет ;-)

Но если присмотреться к ситуации, то получается, что если вставляю вместо вызовов функций, просто тело функции, то все работает, а вот если функцию из заголовка вызываю, то никакой реакции.

Толяныч:

У меня работа МК моделируется в VMLab (учусь по урокам с www.avr123.ru), платы развожу в EAGLE тоже бесплатном.
Может и зарегистрируюсь :-D
Толяныч

Толяныч (статус: 4-ый класс), 3 апреля 2014, 09:54 [#8]:

Этот www.avr123.ru ( в просторечи - ейцвейдрей ) крайне негативно воспринимается форумным сообществом за пихание рекламы своих товаров в тематические форумы. С нескольких форумов его вышибли.
Это так, к слову. Сорри за оффтоп.
min@y™

min@y™ (статус: Доктор наук), 3 апреля 2014, 10:26 [#9]:

Цитата (SOA):

сообощения об ошибке как раз таки нет

Тогда это как понимать?

Цитата (SOA):

компилятор ругается на функции из моего заголовка

Цитата (SOA):

просто тело функции, то все работает, а вот если функцию из заголовка вызываю, то никакой реакции.

Отладчик не юзаешь принципиально? Религия не позволяет или сексуальная ориентация?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 3 апреля 2014, 10:37 [#10]:

min@y™:

Все оч просто, если в Mega8Timer0.h сделать коментарии как тут:

//#ifdef _mega8timer0_INCLUDED_
//#define _mega8timer0_INCLUDED_
 
#pragma used+
 
void T0Source(unsigned char num);
char ReadT0(void);
void WriteT0(unsigned char count);
void T0EnableInterrupt(void);
void T0DisableInterrupt(void);
 
#pragma used-
 
#pragma library mega8timer0.lib
 
//#endif

то компилятор не ругается, и все компилируется, но функции не воспринимаются :-( .
А если коменты убрать то компилятор начинает бешено ругаться на функцию T0Source(), потому что в коде основной программы она стоит первой как я понимаю.
SOA

SOA (статус: Посетитель), 3 апреля 2014, 10:38 [#11]:

Толяныч:
Учту.
min@y™

min@y™ (статус: Доктор наук), 3 апреля 2014, 10:53 [#12]:

Ну какого ж хрена там "#ifdef", когда должон быть палюбому "#ifndef"?!!!1
Если НЕ определено, то определить!

Цитата (SOA):

компилятор начинает бешено ругаться на функцию

ААААААААААААААААА, мама, роди меня обратно!!!111 Да шож за херня-то такая?! Для тупых и прапорщиков ПОВТОРЯЮ!!!!

Цитата (min@y™):

Текст сообщения об ошибке где? Это ж самое главное в вопросе! Можно скриншот.

Текст!!! ТЕЕЕЕЕЕЕЕЕКСТ СООБЩЕНИЯ, БЛ@ТЬ, ОБ ОШИБКЕ!!!! ГДЕЕЕЕЕЕЕЕЕЕЕ??????!!!!!!!!!!11111111
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 3 апреля 2014, 11:30 [#13]:

min@y™: и правда не ifdef а ifndef, тогда компилирует без ошибок, а функции всеравно не видит.
min@y™

min@y™ (статус: Доктор наук), 3 апреля 2014, 11:37 [#14]:

Цитата (SOA):

а функции всеравно не видит.

Ну и как ты это определил-то?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 3 апреля 2014, 17:09 [#15]:

min@y™: технология такова: пишется программа для микроконтроллера в CVAVR, затем эта программа тестится в симуляторе VMLab, где если тупо вставлять не вызов функции, а тело функции, то все работает как задумано, а если пользоваться вызовом функции из изаголовочного файла, то все выглядит так как будто МК запрограммировали ничего не делать.
SOA

SOA (статус: Посетитель), 4 апреля 2014, 00:43 [#16]:

Все ошибку отловил, дело было в Switch case, там каждое case должно было замыкаться break; а у меня их не было, если прописать процедуру вот так, то все работает.

void T0Source(unsigned char num) // Выбираем источник тактирования с делителем частоты
{
 
switch (num)
   {
    case 0: TCCR0=0x00; break;  // Отключен
    case 1: TCCR0=0x01; break;  // Частота внутреннего источника тактирования
    case 2: TCCR0=0x02; break;  // 1/8 внутреннего источника  
    case 3: TCCR0=0x03; break;  // 1/64 внутреннего источника
    case 4: TCCR0=0x04; break;  // 1/256 внутреннего источника
    case 5: TCCR0=0x05; break;  // 1/1024 внутреннего источника
    case 6: TCCR0=0x06; break;  // Внешний источник на ножке T0 с тактированием по спаду сигнала
    case 7: TCCR0=0x07; break;  // Внешний источник на ножке T0 с тактированием по нарастающей сигнала
    }
 
TCNT0=0x00;
 
 
}

Спасибо всем кто участвовал в обсуждении.
min@y™

min@y™ (статус: Доктор наук), 4 апреля 2014, 00:52 [#17]:

Я так и думал, что дело в прокладке.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
SOA

SOA (статус: Посетитель), 4 апреля 2014, 16:20 [#18]:

Между стулом и компьютером?
min@y™

min@y™ (статус: Доктор наук), 4 апреля 2014, 17:34 [#19]:

Цитата (SOA):

Между стулом и компьютером?

Молодец, догадался.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.03 сек.