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

VladimirYU

Свой
  • Постов

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

  • Посещение

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


  1. Весовые коффициенты на осциллографе, как по шкале вертикальной так и по горизонтальной также позволяют снимать показания равномерно лежащие в логарифмическом масштабе (1, 2, 5).
  2. software UART на tiny 13

    Я не много по другому делал СТАРТ. Ставил 0, запускал синхротаймер и разрешал прерывания от таймера, запрещал все другие и чистил все флаги от источников всех "лишних прерываний"
  3. software UART на tiny 13

    Сложно что то сказать, так как непонятно какие еще процессы выполняются, особенно есть ли еще прерывания. Если они есть то это может быть причиной потери синхронизации. Побовал подобное делать на меге16, потребовался второй UART по 1 линии причем, передачу удалось сделать надежной на 9600, но прерывания все кроме синхротаймера запрещал на момент посылок. А вот с приемом натрахался всласть, пришлось все длительности как и Вам в ручную подгонять. Но Вам вроде прием не нужен? Удалил ненужное цитирование, больше ТАК не делайте. Модератор
  4. +1, Я думаю, что коллегу направили в нужное русло.
  5. Строго говоря в Вашем примере ЛАХ имеет наклон 0 Дб/дел в низких частотах, и -20Дб/дек в высоких. Излом асимптотической ЛАХ на частоте w=1/RC. А в остальном "стопудово".
  6. При увеличении того что стоит под логарифмом в 10 раз, значение логарифма увеличивается на 1, следовательно имеем +20 Дб. Правильно :) ?
  7. RC звено является с точки зрения теории регулирования объектом первого порядка. В зависимости от схемы это может быть дифференцирующая цепь или интегрирующая. В первом члучае ЛАХ имеет наклон +20Дб/дек, во втором -20Дб/дек. Т.е. коэффициент передачи в одном случае растет с ростом частоты в 10 раз за декаду, во втором падает в 10 раз за декаду. Декада - это изменение частоты в 10 раз.
  8. A(W) = 20lg Ku(W) где A(W) логарифмическая АЧХ в Дб, Ku (W) коэффициент усиления звена, W=2*3.14*f частота круговая рад/с, f частота в Гц.
  9. Спасибо за разъяснения.
  10. А если вне циклов, найдите отличия: Классика: 94 InputBuffer[0] = 0xab; \ 0000002A EA0B LDI R16, 171 \ 0000002C 01FD MOVW R31:R30, R27:R26 \ 0000002E 8305 STD Z+5, R16 95 InputBuffer[1] = 0x55; \ 00000030 E505 LDI R16, 85 \ 00000032 01FD MOVW R31:R30, R27:R26 \ 00000034 8306 STD Z+6, R16 Запятая: 94 InputBuffer[0] = 0xab, 95 InputBuffer[1] = 0x55; \ 0000002A EA0B LDI R16, 171 \ 0000002C 01FD MOVW R31:R30, R27:R26 \ 0000002E 8305 STD Z+5, R16 \ 00000030 E505 LDI R16, 85 \ 00000032 01FD MOVW R31:R30, R27:R26 \ 00000034 8306 STD Z+6, R16 Я имел в виду именно такой случай.
  11. С запятыми в IAR AVR вообще интересная штука. Начиная с 4 версии в режиме С++ спокойно компилятором глотается запятая вместо классической точки запятой. Вопрос - это стандарт или особенность IAR. Оригинала стандарта под рукой нет.
  12. Студия вообще не любит отображать стековые переменные. Чтобы понять в чем дело введите дополнительную глобальную переменную или несколько, в нужных местах программы мониторьте локальные переменные присвоением их значений глобальным, которые нормально вотчатся.
  13. По смыслу должно быть for ( k=0; k<9; k++) sens[0][k] = 0xff;
  14. Абсолютно справедливо, сначала написал в форум, а потом сам понял. Когда объект динамический - "кучи" хватало, а когда статический и локальный = стек и переполнялся. Всем спасибо за помощь.
  15. Нет операционки нет, но данное сообщение появляется сразу при вызове конструктора статического обекта, а если этот же объект создавать как динамический (new), то сообщение не появляется.
  16. Инициализация, ИМХО, должна быть в CSTARTUP, или я заблуждаюсь? А далее компилятор должен позабодится о корректной работе со стеком, а LINKER предупредить о возможном наложении сегментов, если это отлавливается. Здесь же его (CSTACK) загнали вообще черти куда. Это и непонятно.
  17. Сразу при начале пошаговой отладки main() симулятор выдает сообщение The stack pointer for stack 'CStack' (currently DATA:0x00FFF1) is outside the stack range (DATA:0x000100 to DATA:0x000200) В опциях проекта вроде все определено CSTACK, RSTACK, НЕАР. В map файле все соответствует опциям проекта. Как указатель CSTACK залез в адреса, соответствующие внешней памяти, которой нет и опциях поекта запрещена? Контроллер Мега128, файл линкера XCL родной от IAR. Может кто подскажет как с этим быть.
  18. Это понятно, но компилятор говорит о не совместимости "char*" и "__flash char*", именно об это речь. Func(MASSIVE) и Func(&MASSIVE[0]) эквивалентные вызовы. Евгений, не поверишь, ругется, говорит что атрибут памяти __flash не может указываться среди параметров. Сам с этого варианта начинал.
  19. указатель на flash

    Что то туплю. имеется массив во флэш __flash char MASSIVE [] = { 0xaa, 0xbb,...} есть функция работающая с подобными массивами void Func ( char* Ptr_massive) { .......... } В программе: Func ( MASSIVE); Выдается ошибка. Вопрос: как правильно передать указатель на flash в функцию. IAR 4.12A, Заранее спасибо.
  20. Запускаю программатор из IDE. Все работает, правда только в том случае, когда параметры командной строки передаются через окошко Argument. Так же не любит перенаправлений вывода в файл (типа >> out.txt). А на bat плюнул. Правильно советовали в форуме отказаться от IDE совсем и работать с нормальным редактором, ИМХО.
  21. Аналогичная ситуация с IAR 4.12A, из оболочки IAR bat файл с AVReal32 не запускается, а просто из проводника или командера без проблем, плюнул и смирился в итоге.
  22. Была такая фишка, невсегда IAR корректно воспринимает проекты при смене каталогов исходников. Попробуйте исключить файлы из проекта, а затем заново включить и пересобрать проект.
  23. После while(1) поставте WDR и все станет понятно.
  24. Предыдущий пост не читайте, глупость сморозил, проверьте режим WDT, while (1) может дать сброс по WDT и переинициализацию, а там у вас 1.
×
×
  • Создать...