-
Постов
47 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о _VoRoN_
-
Звание
Участник
- День рождения 22.10.1985
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
-
Помогите
_VoRoN_ ответил _VoRoN_ тема в В помощь начинающему
Вторая ссылочка битая, а вот первая - что надо!!! Спасибо громное! :a14: -
Помогите
_VoRoN_ опубликовал тема в В помощь начинающему
Заинтересовала статья "К. Иванов. Синтезатор частоты для КВ радиостанции" которая публиковалась в журналах за сентябрь и октябрь (в 2-х частях) за 2005 год. Проблема в том, что как раз в тот период я журнала не выписывал, а в интернете статьи приводятся не полностью. Если у кого есть данные номера, буду очень благодарен за сканер этой статейки. -
Спасибо огромное, выручил! :a14:
-
Отказываются работать как разряды порта, постоянно находятся в "0". Остальные разряды порта работают нормально. Предполагаю, что это из-за того что на этих разрядах "висят" еще и AIN0 и AIN1, а вот как отключить компаратор от этих выводов, найти в документации не сумел :(. Кто знает в чем причина, подскажите пожалуйста.
-
Проблема с записью/чтением байта решена. Кому интересно, пишите на мыло, вышлю исходники.
-
Ситуация следующая: Есть МК AT89C4051 с внешней EEPROM (24C02), которая общается по протоколу I2C. Никак не получается добится хоть каких-нибудь результатов, то ли не записывает, то ли не считывает. Если кому-нибудь приходилось сталкиваться с реализацией этого протокола на Си, буду очень признателен за примерчик, а то их на Ассемблере валом, на Си же найти не удалось.
-
Всем спасибо за ответы :a14: Будем пробывать!
-
Реализовать АЦП другого типа не представляется возможным, т.к. работы возобновлялись со стадии на которой уже были изготовлены п/п под АЦП данного типа. А вот смущает многое:) точнее сказать я вообще слабо догоняю принцип его работы.
-
Необходимо измерять постоянное напряжение, для этого решил использовать сигма-дельта АЦП, реализация которого описана в литературе по MSP. Схема хоть и простая, да и пример реализации дается, однако возникает куча непоняток. Если кто сталкивался с реализацие АЦП данного типа, просьба поясните в кратце основные моменты. (статья-источник - http://www.gaw.ru/html.cgi/txt/app/micros/...30/slaa104.htm)
-
С powf() на 148-ом собралось!!! Но вот на 1101-ом не хочет, видимо действительно памяти не хватает:( вычислить необходимо довольно сложное выражение: x = E*e^(-t/tau), именно для возведения e в степень (-t/tau) и требуется данная ф-ия. Как обойти ее и сохранить требуемую точность (0,5%)...просто ума не приложу.
-
в том то идело, что не забыл все как положенно #include <math.h> может ему еще чего надо? или найти чего не может?...
-
Попробывал поменять тип контроллера, взял 148-ой, у этого памяти должно хватать по любому. Теперь на все функции ругается одинаково:), но ругается неизменно: main.o: In function `preobraz': /cygdrive/i/я77777710я77777761я77777765я77777756я77777744я77777755я77777750я77777752я7777775 0/MSP430/PowerMeter/main.c:48: undefined reference to `pow' make: *** [PowerMeter.elf] Error 1 это в ответ на: void preobraz (void) { Uc=pow(count,5); } с 1101-ым писало по иному (см. первый пост).
-
... не хватает места для функции... дело в том, что все стандартные функции здесь реализованы "в лоб" - взяты из стандартной сановской библиотеки и просто скомпилированы. Они занимают очень много места и в 2к не влезают. Необходимо так же помнить, что сами по себе функции работы с плавающей точкой тоже занимают очень много места. Лучше их вообще не использовать на таких маленьких контроллерах. Если необходимость все-же есть, то можно использовать libfp (-lfp). В этом случае стандартная 754 библиотека подменяется такой же, но несколько оптимизированной и без проверки исключений и переполнений. Что же касается кода, то умножить 5 раз число будет быстрее, чем возводить его в степень. На самом деле выражение более сложно:) но, от его сложности кол-во ошибок не зависит. Я попробывал, и вот что получается: компилятор ругается на все мат. ф-ии Си, например: void preobraz (void) { Uc=sqrt(4); } сообщение компилятора: msp430-gcc -mmcu=msp430x1101 -o PowerMeter.elf main.o -lm -L -lfp./lib main.o: In function `preobraz': /cygdrive/i/я77777710я77777761я77777765я77777756я77777744я77777755я77777750я77777752я7777775 0/MSP430/PowerMeter/main.c:32: undefined reference to `sqrt' make: *** [PowerMeter.elf] Error 1 Может я что-нибудь, где-нибудь забыл прописать?
-
Проблема состоит в следующем: возникла необходимость использования функции возведения в степень pow из стандартной библиотеки math.h. Однако при сборке проекта (проект называется PowerMeter), компилятор ругается: msp430-gcc -mmcu=msp430x1101 -o PowerMeter.elf main.o -lm -L./lib /cygdrive/i/mspgcc/bin/../lib/gcc-lib/msp430/3.2.3/../../../../msp430/bin/msp430-ld: region text is full (PowerMeter.elf section .text) /cygdrive/i/mspgcc/bin/../lib/gcc-lib/msp430/3.2.3/../../../../msp430/bin/msp430-ld: section .vectors [0000ffe0 -> 0000ffff] overlaps section .text [0000fc00 -> 00010471] /cygdrive/i/mspgcc/bin/../lib/gcc-lib/msp430/3.2.3/../../../../msp430/bin/msp430-ld: PowerMeter.elf: section .vectors lma 0xffe0 overlaps previous sections main.o: In function `preobraz': /cygdrive/i/я77777710я77777761я77777765я77777756я77777744я77777755я77777750я77777752я7777775 0/MSP430/PowerMeter/main.c:30: undefined reference to `pow' make: *** [PowerMeter.elf] Error 1 функция используется в след. виде: void preobraz (void) { Uc=pow(count,5); } Если у кого-нибудь было подобное, подскажите плиз.
-
Заработала побайтная запись. Действительно необходимо ожидать начала и окончания записи. А так, отличия от at 89S8252 только в регистрах настроек eeprom и сторожевого таймера.