Jump to content

    

sitafern

Участник
  • Content Count

    26
  • Joined

  • Last visited

Community Reputation

0 Обычный

About sitafern

  • Rank
    Участник

Контакты

  • ICQ
    Array
  1. Часом не в Днепре? Нахожусь в Днепропетровске. Есть "свой" QuartusII v.11
  2. Оптимальный путь -> статья Н.М. Астафьева "Вейвлет-анализ: основы теории и примеры применения". Журнал "Успехи физических наук", Том 166 №11 ноябрь 1996 года. Вы пытаетесь сопоставить НЕСОПОСТАВИМОЕ.
  3. Петрович! Смотри, как народ завёлся. Зачем так? Есть же сайтик trud.dp.ua. Выложил вакансию и жди. А здесь вон целая полемика выехала - выживут электронщики или нет. НЕ ВЫЖИВУТ! Новые технологии уже не шагают, а летят! Возьми AVR Studio 5. Хоть и бета, зато на всю линейку продуктов. Компилирует очень правильно. Для молодёжи полный рулёз! А старпёрам с AVR Studio 3.6 уже нечего делать. :smile3046: Мир давно переехал на 32-битовые ARM. Многие просто отстали от поезда. А некоторые вообще на вокзал не приходили. Потому и трудно найти хорошего специалиста (даже просто адекватного). Технологии изменяются скачкообразно. Соответственно и специалисты переходят на новый уровень требований. В электронике, IMHO, доминирует (у "них") System Verilog. И вот это правильно! И правильно, что в ARM встроена Virtual Java Machine. И вот где работка не пыльная (типа Turbo C ) сидят специалисты и тихонько изучают(тренируются) новые технологии. А набравшись даже небольшого опыта, смело переходят в "суръёзные" фирмы на ВЫСОКООПЛАЧИВАЕМУЮ работу.
  4. Так вот AVR занимался (ассемблер и IAR C++). Заказчику потребовалось "рассыпуху" оптимизировать. Сделал на Альтере. Самому понравилось. Но больше заказов не было. А то, что предлагали (типа сделай - мы продадим - тебе денюжку тоже дадим) было вообще не интересно. Короче, был безработным. Теперь есть офис, сухо, тепло и кормят сытно. (Прикольно так, работа в ДОСе!!! на Турбо С) Зато Embedded! Теперь читаю такие призывы (больше для студентов подходят) и тихонько так улабаюсь. ТАИТИ! ТАИТИ! НАС И ТУТ ХОРОШО КОРМЯТ! Жаль тебя, Петрович. Всё пуп рвёшь! А зачем?
  5. Скушно в Днепре работать. Тем более разработчиком. А ещё хуже электронщиком. Платят копейки. Правда, и работу то же получают на копейки. Больше $400 не заплатят.
  6. AvrStudio 5

    Скачал на работе, поставил. Два дня просто смотрел. Так как потихоньку крапаю в VS2010(рус) на С++, то немножко неудобно. Только С(IAR для меня лучше). Вот к Eclipse не привык. Поэтому AVR32 не особенно и трогал. А здесь нормально. Имею только STK500. В пятёрке это не приемлемо. Если будут заказы под UC3, то перееду на AVR 5(типа "Изя, Вы счастливы :1111493779: ? А шо делать :laughing: ?"). Заключение: для начинающих и сразу в 32 бита это наилучший вариант(я так думаю). Всё-таки новые технологии.
  7. Сталкивался с похожей ситуацией. Страдает не только студио, но и иар. Случайно такое вот решение: Было for(;;) { // Тут собственно вся программа внутренние переменные не видны } Сделал: while(1) { // А тут всё видно и работает } P.S. Логичного объяснения не нашёл. Но всё больше на ассемблере теперь работаю.
  8. Пользуюсь простым алгоритмом при реализации Modbus RTU (потолок скорости 115200). Назначения: 1. Буфер приёмника/передатчика (первый байт - счётчик). 2. 1 РОН для счётчика "долгих" циклов. 3. 2 РОНа для хранения CRC16. 4. Функция подсчёта CRC "на лету". 5. Функция записи в буфер записывает последними в буфер 2 байта CRC16. 6. Функция передачи данных подсчитывает CRC16 "на лету". Собственно проверка: 1. "Длинный" счётчик =0? Да. 2. РОНы контрольной суммы =0? Да. Резюме: данные "уехали" без проблем. ;====================================================================== ============= ; ЗАДАЧА 7 - Передача фрейма данных в хост-компьютер по USART0 по протоколу ModBusRTU ;=============================================================================== ==== PLC_7: sbrs rFlagPLC, flPLC_7 rjmp Exit_PLC_7 cbr rFlagPLC, (1<<flPLC_0) ; Запретить приём по USART0 на время передачи sbrc rFlagUSART, flReady0 ; Начальная инициализация была? rjmp lbLoadTxD0 ; Да ;------------------------------------------------------------------- ; Инициализация функции передачи данных ldi rFuncL, N115200 ;1. Делитель частоты UBRR0H:UBRR0L = 0x0007 out UBRR0L, rFuncL ;2. Асинхронный режим UMSEL = 0 out UBRR0H, rZero ;3. Контроль чётности UPM1 = 1, UPM0 = 0 ldi rFuncL, 0xA6 ;4. Один стоп-бит USBS = 0 out UCSR0C, rFuncL ;5. Формат кадра 8бит UCSZ1 = 1, UCSZ0 = 1 lds rCounter0, pCountUSART0 ; Количество передаваемых байт данных ldi XL, low(pAdressUSART0) ; Буфер передатчика начинается с адре- ldi XH, high(pAdressUSART0) ; са УСО sbi UCSR0B, TXEN0 ; Включить передатчик USART0! sbr rFlagUSART, (1<<flReady0) ; PLC инициализирована ;--------------------------------------------------------------------------- ; Загрузка байта данных для передачи lbLoadTxD0: cpse rCounter0, rZero ; Все байты фрейма загружены? rjmp lbFrame0 ; Нет rjmp lbEndTxD0 ; Да lbFrame0: sbis UCSR0A, UDRE0 ; Надо загрузить байт для передачи? rjmp Exit_PLC_7 ; Нет. ld rdUSART0, X+ ; Загрузить передаваемый байт out UDR0, rdUSART0 ; Собственно загрузить байт данных для передачи dec rCounter0 ; Уменьшаем счётчик передаваемых байт фрейма cbi UCSR0A, UDRE0 ; Сбросить флаг требования загрузки sbr rFlagUSART, (1<<flCRC160) ; Установить флаг требования подсчёта CRC16 ;--------------------------------------------------------------------------- ; Окончание функции передачи данных lbEndTxD0: sbis UCSR0A, TXC0 ; Ожидание передачи последнего байта rjmp Exit_PLC_7 ;------------------------------------------------------------------- ; Сброс передатчика USART0 clr rFuncL out UCSR0B, rFuncL ;------------------------------------------------------------------- ; Проверка регистров CRC16 на ошибку cpse rCRC160L, rZero rjmp lbTxDError0 cpse rCRC160H, rZero rjmp lbTxDError0 rjmp lbExitTxD0 ;------------------------------------------------------------------- lbTxDError0: ; Обработка ошибки подсчёта CRC16 "на лету" sbr rErrInter, (1<<flCRC16T0xD) lbExitTxD0: sbi UCSR0A, TXC0 cbr rFlagUSART, (1<<flEmpty0)+(1<<flReady0)+(1<<flCRC160)+(1<<flFrame0) cbr rFlagPLC, (1<<flPLC_7); Выключить функцию передачи данных по USART0 sbr rFlagPLC, (1<<flPLC_0); Включить функцию приёма данных по USART0 Exit_PLC_7: nop
  9. Сенсорная панель скорее всего будет работать с промышленным одноплатным компьютером. Добавляете многофункциональную плату расширения Advantech PCI-1710, на которую вешаете всю свою периферию, как аналоговую, так и дискретную. Ещё в SCADA Trace Mode пишите управляющую программу АСУТП (за неделю даже непрограммист). И будет вам счастье. Прошу прощения у модератора за оффтопик.
  10. Профайлер

    А вот про IAR Systems WorkBench никто и не вспомнил. Понятно, что не всё из перечисленного там есть, но работать с профилировщиком там достаточно удобно. Хоть и симулятор, но представление о работе управляющей программы даёт. В принципе, когда работал ещё в DOS-е, то пользовался профилировщиком для "вылизывания программы". Только баловство всё это.
  11. А давайте о программировании в реальном времени немного узнаем у Константина :smile3046: . Если можно, то какие-нибудь подробности. Если ещё нужны программисты. :1111493779:
  12. Делал такое: модбас на меге 162 в два USARTA, без прерываний (только переполнение таймера для интервалов), работает устойчиво на 115200. Кстати, действительно, почему такая маленькая частота кварца? Подсчёт контрольной суммы "на лету". Написано на ассемблере. Если интересно могу выслать исходник без дешифратора команд и других "прибамбасов". Только работа USATR'ов. Мой адрес sitafern@ukr.net
  13. MEGA+энкодер

    Пробовал тут рулёз от Parallax. Там готовая прога шла к нему на 16 квадратурных энкодеров. При внешнем кварце 8МГц и умножителе на 16 (внутренняя 128МГц) без прерываний обрабатывалось на ура. Может то же попробуете. Микроконтроллер P8X32A (на имраде 82 грн.).
  14. SwiftX

    Искал новинки для AVR-ов и с атмела перевели на FORTH Inc. Там IDE SwiftX нахваливают для AVR и пр. Может кто пользо- вался, так поделитесь впечатлениями. :beer:
  15. Попытайтесь обновить ещё раз. Вполне вероятно предыдущая операция обновления прошла со сбоем. Если и на этот раз не получится, попробуйте обновиться от предыдущей версии (хотябы ради восстановления того, что было). Нет. Операция обновления проходит нормально. Скорее прошивка с глюком, т.к. не светится индикатор "готово" на STK500. Пришлось переустановить студию. Обновить 3-им сервис паком, обновить STK до версии 2.07. И после обновления 4-ым сервис паком вежливо отказываюсь от обновления STK до 2.0А. Вот так и работаю :(