Jump to content

    

SergeyM

Свой
  • Content Count

    68
  • Joined

  • Last visited

Community Reputation

0 Обычный

About SergeyM

  • Rank
    Участник
  • Birthday 04/15/1977

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Спасибо, я вроде накопал нормативные документы на эту тему. Тема закрыта.
  2. А как нибудь по точнее бы. Например средней сложности управления программа один вход/выход стоит столько. И зависит ли стоимость проги в целом от стоимости ПЛК со всеми подключаемыми модулями?
  3. Здравствуйте уважаемые разработчики! ЕСть возможность подзаработать на программировании ПЛК для одного предприятия, может кто подскажет как и на что операться в расчете стоимости на конечный продукт?
  4. Привет! Нужно научить декодер HSC515 работать с брелком, все собрано как написано в даташите и нажимается кнопка держится две секунды типа диод гаснет значет мы в режиме обучения, жмем на кнопку пульта чето там морнет жмем еще раз опять моргнет, далее не понятно толи мы вышли из режима обучения толи нет, короче нифига не работает. Может что в даташите не правильно понял при переводе толи фиг знает. Не можешь пролить свет на этот вопрос :)
  5. А примерчик как это реализовать?
  6. Народ нужна помощь в работе с ними, после откликов реальные вопросы :)
  7. Вообще убрать, то может что то не сработать. А вот на что заменить неизвестно, можно конечно попробовать на PCL но будет ли правильным результат, неизвестно. Программа написана для PIC16C56 и компилируется только для отладки и понимания самой проги, а затем будет перенесена на 627. По поводу посмотреть старые MPLAB'ы так их надо скачивать, если есть какая нибудь инфа то прошу выложить вкратце.
  8. Имеется старый исходник с нужным примером и нужно его скомпилировать. Компилирую в MPASM 3-й версии и он ругается на строку <Label> EQU $ ругается на $ в куске кода это место потом обращается к внешней памяти, в документации это текущее значение счетчика. Не пойму почему компилятор ругается?
  9. Народ привет! Возникла проблема, нужно передать код через радио канал. На данном этапе стоит задача отработать передачу данных напрямую через короткий проводок на макетке. Дак вот наблюдается нестабильность в получении кода, что на пике , что на авр. Может кто реализовывал типичную проблему, так не подскажите как лучше это сделать? Посылку произвожу манчестерским кодом со стартовым битом, по которому и определяю начало пакета. Вобщем вот два кода. Код кодера на пике: // Функция передачи пакета кода void code(unsigned int Low,unsigned int Hi) { unsigned int c; if(DataOutCount < PAKET){ if ((DataOutCount < HPAKET) && (DataReady == 12) ){ if (stop){ c = Low; LowDataOut >>= 1; //DataOutCount++; } } else if ((DataOutCount >= HPAKET) && (DataReady == 12)){ if (stop){ c = Hi; HiDataOut >>= 1; //DataOutCount++; } } switch (DataReady) { case 10: if (i < 4){ RB2 = 0; i++; } else{ i = 0; DataReady++; } break; case 11: DataReady++; RB2 = 1; break; case 12: if ((c & DataCheck) == DataCheck){ RB2 = 0; DataReady--; } else { if (i < 1){ stop = 0; RB2 = 0; i++; break; } else{ i = 0; stop = 1; DataReady--; } } //LowDataOut >>= 1; DataOutCount++; break; default: DataReady++; RB2 = 1; break; } } else{ RB2 = 1; DataShow = 0; DataReady = 0; DataOutCount = 0; } } Код декодера, реализовывал на пике и на авр, один к одному, изменив только переменные железа interrupt [EXT_INT0] void ext_int0_isr(void) { //SaveRTC = CurrentRTC;// Place your code here switch (MCUCR){ case 0x0E: GIMSK=0x80; MCUCR = 0x0F; // установили на фронт SaveRTC = ((Count & 0x0FF) << 8) + TCNT0; GIMSK=0xC0; break; case 0x0F: GIMSK=0x80; MCUCR = 0x0E; GIMSK=0xC0; CurrentRTC = ((Count & 0x0FF) << 8) + TCNT0; PeriodRTC = CurrentRTC - SaveRTC; SaveRTC = PeriodRTC; if (SaveRTC < 0) SaveRTC = 0 - SaveRTC; if ((SaveRTC > 700) && (SaveRTC < 1000)){// определили что это стартовый бит //PORTB = 0x01; DataInCount = PAKET; LowDataIn = 0; HiDataIn = 0; } if ((SaveRTC > 30) && (SaveRTC < 250) || (SaveRTC > 480) && (SaveRTC < 490)){ // это 1 if (DataInCount <= HPAKET) LowDataIn = (LowDataIn << 1) + 1; // получена 1 else if (DataInCount > HPAKET) HiDataIn = (HiDataIn << 1) + 1; if (--DataInCount == 0) DataReady = 1; } if ((SaveRTC > 250) && (SaveRTC < 480)){ // это 0 if (DataInCount <= HPAKET) LowDataIn = LowDataIn << 1; else if (DataInCount > HPAKET) HiDataIn = HiDataIn << 1; if (--DataInCount ==0) DataReady = 1; } //GIMSK=0xC0; SaveRTC = 0; break; } //CurrentRTC++; }
  10. У меня нет доступа на здешний FTP, если реч конечно о нем, ну а если о другом то всю ссылку можно.
  11. Если честно то я несмог найти ничего стоящего, как например то что вы дали. Если можно еще несколько ссылок.
  12. Хотелось бы побаловаться с управлением МК через пульт. А вот какой приемник и какой код загружать не знаю.