Перейти к содержанию
    

VladimirYU

Свой
  • Постов

    426
  • Зарегистрирован

  • Посещение

Весь контент VladimirYU


  1. Именно ругался, а не предупреждал о том, что ничего не знает об их поведении?
  2. Вопрос по С++

    А если серьезно? :)
  3. Вопрос по С++

    В том то и дело, что точно cout, у меня самого этот вопрос возник :-(
  4. Вопрос по С++

    Форумчане, подскажите, пожалуйста, как заставить cout выводить в UART. C printf вроде разобрался, переопределил в своем проекте putchar и все заработало. Захотелось использовать cout, но получаю ошибку линкера. IARAVR 4.12 Error[e46]: Undefined external "__read" referred in ?getchar ( D:\IAR Systems\EW4_12A\avr\LIB\DLIB\dlAVR-3s-ec-n.r90 )
  5. Нет же вам этого не говорили, просто использование подобных "волшебников" затеняет понимание сущности, и далеко не всегда генерируемый ими код соответствует требованиям решаемой программистом задачи. По аналогии это непонятного качества полуфабрикат в сравнении с приготовленным самостоятельно продуктом.
  6. тем не менее IAR при стандартных настройках 0-ую ячейку ЕЕПРОМ не пользует.
  7. В режиме программирования на ножке Reset напряжение должно быть 0В(потенциал "земли" питания).
  8. при объявлении переменных ЕЕПРОМ добавьте ключевое слово __root __eeprom unsigned char erm[15]="Demo STRing"; в вашем случае скорей всего их выкинул компилятор, м.б. вы их не используете?
  9. У вас две взаимосвязанные задачи 1. двигатель 2. управление Посмотрите в сторону AT90PWM3, это специализированный контроллер для управления двигателями, в том числе и вентильными, там есть примеры его использования как раз для двигателей с встроенными датчиками Холла. Есть пример программы, он правда с глюками, но за основу подойдет. Силовую часть сразу делайте на 3-х фазных мостах от IR, основные защиты там уже аппаратно реализованы. Программные сделаете сами. По поводу двигателя с такими параметрами готового решения подсказать сразу не могу. Но если брать за основу мощность 1кВт, то для 48В получается 20А, это мне видится более реальным.
  10. Последний вариантом я всегда и пользовался, см. предыдущий мой пост. Не работает он в конкретном случае и я не могу понять почему, игра с "кучей" и стеками результатов не дала. В map файле ничего криминального не увидел, предупреждений ни кампилятор, ни линкер не выдает. Работает только глобальный статически созданный объект. А первое Ваше утверждение весьма спорно. в глобальной области строка Tobj* obj = new Tobj; включает в себя и объявление и создание объекта.
  11. Судя по всему не вызывается коструктор. Так ведь в куче проектах работает именно третий вариант, указатель на объект глобальный а требуемый конструктор, определяемый например по опросу ключа, вызывается в main. Если я правильно понимаю, что если бы были проблемы с недостатком памяти не работал бы и глобальный объект. Поясните, почему, хочется глобальным иметь указатель на объект, а конструктор вызывать где надо и удалять объект (по необходимости ) где надо.
  12. Вопрос к знатокам. Компилятор IARAVR v4.12. Столкнулся со следующим эффектом,в случае объявления объекта глобальным статическим все нормально работает Tobj obj; int main() { .......... } А если объявить его так: Tobj* obj = new Tobj; int main() { .......... } не работает. Естественно методы в этом случае вызываются через указатели. Игра настройками HEAP, CSTACK, RCTACK ни к чему не приводит. Впервые на такое налетел. Подскажите где я туплю. В map. файлах все практически одинаково, предупреждений нет. Нужно по структуре программы работать через указатели. По смыслу примерно так (конструктор вызывается в теле: Tobj* obj ; int main() { .......... obj = new Tobj; .......... }
  13. Поставленная задача таким способом не решаема.
  14. Боюсь, что нет. 1) могут быть проблемы с пуском; 2) При частотном регулировании f и U меняют по определенному закону, простейший U/f = const => снижение момента в неизбежно. Иначе рост потерь, перегрев двигателя выход его из строя. Логичней было бы использовать коллекторный двигатель по типу тех, что в ручном инструменте.
  15. Realterm + драйвер для доступа к портам DLPortIO, если под WINDOWS.
  16. Когда то давно, такое было у меня с мегой 103. Если ничего не путаю в ранних версиях PONYPROG даже опция была типа "забить на сигнатуру". Приборы с теми мегами без проблем вот уже больше 10 лет работают.
  17. Выдает ошибку Error[be009]: memory attributes not allowed on auto variables or parameters
  18. Полагаю, что платите Вы за полную потребляемую из сети мощность W, но в эенергопреобразовании в двигателе участвует только активная составляющая. Реактивная составляющая необходима для создания магнитного потока в зазоре, без него, создание момента невозможно.
  19. А почему обязательно в форуме? В любом букваре по микропроцессорной технике.
  20. ИМХО изначыльно "бег в мешке". Куда проще AD7705 + МК с UART + преобразователь ТТЛ в RS232 далее в PC.
  21. -5V это опечатка? ИМХО для коммутации тока светодиода ничего делать не надо, т.к. нагрузка практически чисто активная и ток небольшой. Иначе RC согласно рекомендации sera_os.
  22. Через тепловые потери, пусковые токи асинхронного двигателя гораздо больше номинальных. Расчитать средние потери для номинального режима, и обеспечить чтобы средние потери в Вашем случае не превосходили номинальных. Из этого условия определить минимальное время между последовательными пусками.
  23. Примерно так, в хидере #ifndef MY_INCLUDE #define MY_INCLUDE // подключить необходимые хидеры class Myclass { private: // здесь закрытые члены public: // открытый интерфейс, не забыть про конструктор protected: // защищенные члены }; #endif //MY_INCLUDE В файле CPP #include "My_include.h" // Далее реализация методов класса Myclass::Myclass( ) // если надо с параметрами { ........... } void Myclass::Func1(int par1, char par2) { ............ } ........... ...........
×
×
  • Создать...