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

skef

Участник
  • Постов

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

  • Посещение

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


  1. Есть несколько элементов Н-485. Кто-нибудь подскажет какова их нагрузочная способность? Где их можно применить кроме как источник эталонного напряжения?
  2. А сколько оно идти оттуда будет? Как надежно? Не кинут? Там, возможно, еще что-нибудь придется докупить? skef, бюджет? Бюджет обсуждаем. Встречный вопрос: Это предложение? Как качество, работоспособность, состояние прибора? Лучше бы Вы в почту написали.
  3. Куплю клон логического анализатора USBee DX. Территориально - Красноярск. E-mail: [email protected]
  4. Hi all! Проблема заключается в том, что компилятор космик устанавливает бит который не нужно устанавлитвать. Пример программы: #include <STM8S105C6.h> #define TEST 2 main() { PB_DDR = 255;//здесь порт настраивается на выход PB_CR1 = 255; PB_ODR = (TEST<<1);// Мы устанавливает "1" на вывод 2 порта В //И она уставливается PB_ODR = (TEST<<0);//Мы устанавливает "0" на вывод 2 порта В //И он устанавливается. А вот тут самое интересное. Которое заключеется в том, что на выводе 1, который в //этой программе не задействован, устанавливается "1" while (1) { _asm("nop");//А тут просто брейкпойнт } } На что отладчик в окне дизассемблер заявляет: 0x80ce <main> 0x35FF5007 MOV 0x5007,#0xff MOV _PB_DDR,#0xff main.c:6 PB_CR1 = 255; 0x80d2 <main+4> 0x35FF5008 MOV 0x5008,#0xff MOV _PB_CR1,#0xff main.c:7 PB_ODR = (TEST<<1); 0x80d6 <main+8> 0x35045005 MOV 0x5005,#0x04 MOV _PB_ODR,#0x04 main.c:8 PB_ODR = (TEST<<0); 0x80da <main+12> 0x35025005 MOV 0x5005,#0x02 MOV _PB_ODR,#0x02 main.c:12 _asm("nop"); 0x80de <main+16> 0x9D NOP NOP 0x80df <main+17> 0x20FD JRT 0x80de JRT 0x80de rupt_vector.c:17 return; То есть компилятор самовольно устанавил бит (номер 2) в регистре периферии (PB_ODR). Это баг компилятора? Или я неправильно понял ситуацию и что-то не так сделал? И можно ли какими-то путями (например, опциями компилятора) гарантировано исключить подобные ситуации?
  5. Люди. Кто-нибудь подскажет, в каких IDE можно разрабатывать программы под андроид? Почитал в интернете. Скачал eclipse-java-galileo-SR2-win32 и eclipse-SDK-3.5.1-win32. Читал что надо сначал ставить эклипс СДК, поверх него JDK... При попытке запуска этих приложений вылезает ошибка: ============================================ A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations: С: \Downloads\edipse-5DK-3.5.1 -win32\edipse\jre\bin\javaw. exe javaw.exe in your current PATH ============================================ Кто-нибудь может нормально объяснить где что скачать и как ставить?
  6. И еще долго такой будет. Об РКС идет дурная слава. Гнилье (УГ).
  7. Проголосовал "За". Пусть весь оффтоп будет в одном месте.
  8. Проблемы с STM8

    Недавно взялся за изучение микроконтроллеров STM8. На данный момент читаю документацию (programming manual) там на странице 14 написано: Global configuration register (CFG_GCR): The global configuration register is a memory mapped register. It controls the configuration of the processor. It contains the AL control bit: ● AL: Activation level If the AL bit is 0 (main), the IRET will cause the context to be retrieved from stack and the main program will continue after the WFI instruction. If the AL bit is 1 (interrupt only active), the IRET will cause the CPU to go back to WFI/HALT mode without restoring the context. This bit is used to control the low power modes of the MCU. In a very low power application, the MCU spends most of the time in WFI/HALT mode and is woken up (through interrupts) at specific moments in order to execute a specific task. Some of these recurring tasks are short enough to be treated directly in an ISR, rather than going back to the main program. In this case, by programming the AL bit to 1 before going to low power (by executing WFI/HALT instruction), the run time/ISR execution is reduced due to the fact that the register context is not saved/restored each time. Что я (с помощью переводчика) перевел как: Глобальный регистр конфигурации. Расположен в памяти программ. Управляет конфигурацией процессора. Состоит из бита AL. Когда AL = 0 (основные), возврат из прерывания контекст восстанавливает из стека и продолжает выполнение программы после инструкции WFI. Когда AL = 1, (только активные прерывания) после команды IRET ЦПУ идет обратно WFI/HALT режим через сохранение контекста. Этот бит используется для режима энергосбережения ЦПУ. Для очень малопотребляющих приложений, в этом случае MCU проводит большую часть времени в способе WFI/HALT и пробуждается (через перерывы) в определенные моменты, чтобы выполнить определенную задачу. Некоторые из этих возвращающихся задач достаточно короткий, чтобы рассматриваться непосредственно в ISR, вместо того, чтобы возвратиться к главной программе. В этом случае, программируя AL = 1, контекст не будет восстанавливаться, и как следствие, длительность обработчика уменьшится. В связи с этим вопросы: 1) Для чего используется этот бит (из перевода это не очень ясно)? 2) Что такое ISR? 3) Чем отличается сохранение контекста при AL = 0/1? 4) Связано ли это (и как) с приоритетом прерываний?
  9. Невозможно отправить это сообщение, так как получатель отключил свой личный ящик, или он попросту переполнен. Это личное сообщение не отправлено.
  10. улыбаете... :fman: Чего пугаться? Не медицинские же дипломы...
  11. :crying: Не мог бы кто-нибудь дать дистрибутив программы FEKO? (Пришлите пожалуйста на [email protected] или на [email protected]) Заранее спасибо!
  12. РК-98

    Где-нибудь можно достать"Положение о порядке создания, производства и эксплуатации космических комплексов, утвержденного постановлением Правительства Российской Федерации от 22 июля 1998 г. № 819-31 (Положение РК-98 (РК-98-КТ)", нужно по работе, а в интернете его не нашел. Только ссылки.
  13. ищу работу

    Не дописал. я не из москвы. Я из Набережных Челнов. Но при необходимости готов к переезду. P.S. И чего же надо современным работодателям?
  14. ищу работу

    В этом году окончил ВУЗ по специальности "радиотехника". Ищу работу по специальности. Есть минимальные навыки в программировании микроконтроллеров (AVR). Хотелось бы работать в сфере разработки. Предложения направлять по адресу [email protected]
  15. Хотя я все же надеялся увидить готовый код... а еще вам в другом форуме это сделали и выложили хексы...
  16. в ассемблере : .ORG 0x00 ;INTERRUPT VECTORS JMP __RESET директива орг закрепляет адрес, и по этому адрес у вас переход на __RESET и потом JMP _adc_isr - прерывание по работ АЦП далее по программе __RESET: CLI CLR R30 OUT EECR,R30 , с переходом ресет все нормально... а мерить частоту АЦП это (по моему скромному мнению это дурной тон. уж лучше таймером-счетчиком) ============================================================================= попробуйте разгрузить и упростить программу. в секции инициализации уберите все строчки типа ASSR=0x00; может быть у вас есть многократно вложенные функции. может быть еще какие-то программные ошибки. я лично когда-то забил на это cvavr и не жалею. и уверен что протеус здесь не причем.
  17. по адресу 0х0000 ничего нет. а там должен быть (в подавляющем большинстве случаев) переход в функцию... на ассемблере - в подпрограмму сброса и инициализации (reset). может быть, код приложите или сам проект... или может там CVAVR генериует еще и ассемблерный файл. можно туда заглянуть и посмотреть.
  18. а если нажать на это 0х0000 - вылезет ассемблерный код или нет? возможно компилятор неправильно вычислил адрес в памяти программ. и еще много чего может быть...
  19. Фрейтер, вам личные сообщения не отправляются. если актуально, пишите на [email protected]
  20. Спасибо! Запустилось!
  21. :smile3046: начал изучать winavr, написал программу (по книге шпака), не компилируется... #include <avr/io.h> #include <avr/delay.h> void pause (int ms) { PORTD=0xFF; //все светодиоды отключены delay_loop_2 (ms); //задержка } //================================ void P (void) { PORTD = 0; //включаем все светодиоды delay_loop_2(5); //короткая задержка pause (5); //пауза с погасшими светодиодами } //================================ void D (void) { PORTD = 0; delay_loop_2 (20); pause (5); } /================================ int main (void) { DDRD = 0xFF; while (1) { P(); P(); P(); D(); D(); D(); P(); P(); P(); pause (100); } } вылезают ошибки: undefined reference to `delay_loop_2' и предупреждения: warning "This file has been moved to <util/delay.h>." warning: implicit declaration of function 'delay_loop_2' и ошибки, и предупреждения связаны с delay.h почему не компилируется??? предполагалось что программа для mega8, тактовая частота 8мгц, писал программу в аврстудио...
  22. P.S. задал вопрос http://electronix.ru/forum/index.php?showt...mp;#entry822353 прошу модераторов удалить эту тему.
×
×
  • Создать...