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

-Tумблер-

Свой
  • Постов

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

Весь контент -Tумблер-


  1. Да, это интересные идеи. И интуитивно понятные. Ещё одна - использовать готовую микросхему для этого MAX13488E (как посоветовали ранее). Существует и ещё более простой вариант - управлять направлением битом модема. И, наконец, решить проблему управления направлением а заодно и категорическую проблему вышеуказанной схемы (отсутствие гальванической развязки) можно покупкой платы RS485. Это может оказаться быстрее и надёжнее. Без гальванической развязки мастерить промышленные сети я бы не стал.
  2. Номинал резисторов R2, R4, R6 показались мне несколько странными. Почему именно такие ? Можно предложить так: R4 - 2 резистора 300 [ом] в параллель (итого 150 [ом]) R2 - 300 [ом], R6 - 300 [ом]. Короче, четыре по триста. :)
  3. У жука 8253 почему-то медленно сбрасывается флаг RDY/BUSY. Поэтому, после начала записи надо дождаться RDY=0, потом дождаться RDY=1. Это будет означать, что байт записан и можно начинать следующую операцию записи. Например, приблизительно так (IAR C): /*-------------------------------------*/ void eeprom_rdy (void) { for (;;) {if ((EECON & (1 << EERDY)) != 0) break;} } /*-------------------------------------*/ void eeprom_rdy0 (void) { for (;;) {if ((EECON & (1 << EERDY)) == 0) break;} } /*-------------------------------------*/ write_byte (word ad, byte dat) { data byte *pxdata; pxdata = (byte *) (0x010000 | ad); DI EECON |= (1 << EEMEN) | (1 << EEMWE); EI *pxdata = dat; eeprom_rdy0 (); eeprom_rdy (); DI EECON &= ~((1 << EEMEN) | (1 << EEMWE)); EI } /*-------------------------------------*/
  4. Поначалу бывало часто такое. Скорее всего это помехи с провода-на-провод. Попробуй завалить фронты сигналов rc-цепочками. Удачи ! :) Да еще как !! :glare:
  5. AT89C5131-RDTIM

    Правда ли, что у этой машинки можно отдельно запитать весь внутреннй контроллер USB используя вывод AVDD ? И, тем самым, запитать ядро процессора от 5V, а USB-контроллер от 3.3V ? :unsure:
  6. Да. После обнаружения таких случаев я стал вставлять проверку CRC16 ROM. Статистика получается такая. У AT89S8252 ~ 5-8 штук на 1000. Уверен, что это плохие жуки. Попытка перепрошить приводит к тому, что жук исправно работает около 30 мин. Check CRC легко обнаруживает такие ошибки. Получше обстоит дело с AT89C55WD. Всего два случая на моей памяти. Диагноз тот же. :)
  7. at89s8253+61c256

    У меня кондеры менять не пришлось. 47 пф + кварц 12 мгц. Сбои Озу... есть классическая проблема x51 - возможная "шпилька" на ALE при "неудачном" сочетании адресов и данных. Лечится резистором 300-500 ом в разрыв цепи ALE. Самый худший вариант - емкость на ALE. Поскольку именно это - емкости на шинах процессора - и являются одной из причин проблемы ALE.
  8. Действительно, надо попробовать. Спасибо ! Подозревал, но не был уверен. :)
  9. Всем доброго времени суток ! Проблема вот какая: при использовании AVR ATINY2313 почему то очень мал размах колебаний кварцевого генератора. Приблизительно 1-1.2 V (кварц 4мгц). Жук ставится на замену AT90S2313. При этом "все работает нормально". Т.е. полностю. Исследования показывают, что даже в такой ситуации TINY2313 гораздо лучше чем 90S2313 при наличии значительных помех. (вообще на них не реагирует) Размах колебаний не сильно зависит от питающего напряжения в пределах 1.8V - 5.5V. Проверил несколько жуков - одинаково. В документации ничего про это не нашел. :( Фузы я поставил так: CKSEL0 is reset (1) CKSEL1 is set (0) CKSEL2 is reset (1) CKSEL3 is reset (1) SUT0 is reset (1) SUT1 is reset (1) CKOUT is reset (1) CKDIV8 is reset (1) Вероятно все-таки я гдето ошибся ? Хотя "все работает" сомнения все же остаются.. :unsure:
  10. А я так понял , что Игорь прав. Те если не было определено неадера _xxx_DEF с переменной unsigned int My_Int_Var - создать ее у себя. А если был определен( те файл определений подключен к проекту) - использовать оттудова.
  11. Совсем простой вариант - и по быстрому: . . . for (;;) runfor type_crlf (line); outstr ("0. TEST RS-485\r\n", line); outstr ("1. TEST R-29 INC\r\n", line); outstr ("2. TEST R-29 FLOAT 1\r\n", line); outstr ("ESC- EXIT\r\n", line); outstr ("^C - MAIN MENU\r\n", line); type_crlf (line); for (j=0; j leq 0;) run1 b =getbyte (line); switch ( b ) runswitch case space: case cr: j=1; break; case '0': rs485_menu (); j=1; break; case '1': test_r29_inc (); j=1; break; case '2': test_r29_f (1); j=1; break; case esc: return; case ctlc: ret_main_menu (); endswitch end1 endfor . . .
  12. Да - действительно не плохо. Тем более странно видеть проблемы с редактором. Даже для самоcтоятельного написания редактора уйдет гораздо меньше недели. К тому же бесплатный софт c C компилятором - это форма демпинга при продвижении продукции на рынок. Так что не совсем 0 баксов за компилер. Фирма получает оплату этого софта увеличением продаж. :glare:
  13. Да. Но: Какое же тогда качество компилятора ? :( Что там разработчики сумели натворить, если простейших вопросов программирования для WIN не знают? У софтуне внутенняя не стандартная структура программы. Поэтому, кстати, она несколько "тормозит" во время работы. На слабом процессоре это особенно заметно.
  14. Для WIN98 редактор все "позволяет". Для WINXP рекомендуется назначить и использовать для работы в среде Softune прямое переключения языка. Например: левый ALT + Shift + '2' - Переключение на английский левый ALT + Shift + '1' - Переключение на русский. при этом значок языковой панели остается в положении EN, но клавиатура правильно переключается на русский. Как они пишут такие программы ? Научите... Опция "переключение между языками" почему то работает не четко. Причем, посредством клавиатуры не работает совсем, а мышью это сделать можно. Но неудобно и не четко. Как они пишут такие программы ? Я честно пытался, у меня не вышло. :(
  15. У меня так получилось: Для WIN98 Если применить патч - вообще все "как раньше". Никаких проблем. Для WINXP Если применить патч - не удается переключить клавиатуру на кирилицу комбинацией клавиш. Однако мышью ("справа внизу") это сделать можно. Причем значек на панели утверждает, что клавиатура EN, но на самом деле уже RU. Не исключаю, что эта XP-шная особенность встречается только у меня. Очень старенький и слабый компьютер. (P II-300) Что касается "kanji" то я не заметил необходимости его использования. И без этой опции программа нормально компилируется, собирается и после прошивки работает в жуке. :)
  16. После лечения никаких паталогий не обнаружено... Но если "что" будем ковырять дальше. :) 0crk.zip
  17. Есть доки на старые версии. Но у IAR хорошая преемственность. А потому очччень много аналогично.. DOC.zip
  18. Atmega64 и LCD

    Теоретически это все равно - по переменному току +5 и GND эквипотенциальны. Но традиционно на землю ключи сильнее. Поэтому используется как правило подтяжка к +5. Однако, в тех случаях, когда до старта программы после вкл. питания необходим конкретный уровень, то к нему и следует "привязывать". В моем конкретном случае я все нагрузил к +5. Да, чуть не забыл: Процессор ,я полагаю,наверняка "сильнее", чем дисплей. Значит минимум резистора шины данных определяется дисплеем. (если нужно читать дисплей). У меня в девайсе слабенький процессор - AT89C55-24 мгц. Короткая команда - 0.5 mks, поэтому никаких дополнительных задержек нет (если мне не изменяет память). Для наладки нужен осциллограф - иначе нельзя оценить качество сигналов и верность осциллограмм "базовых" процедур ввода-вывода. Иногда "все правильно", но плохо работает из-за отсутствия некоторой задержки при переходе от режима чтения к режиму записи и наоборот. <_<
  19. Atmega64 и LCD

    Пардон - был занят, не читал конфу 4 дня. Конечно. я ставлю подтяжки - 4K7. На все выводы. Кроме подсветки. Плоский кабель очень короткий. Производство серийное. Если не жалко и процессор позволяет - можно поставить и 1K0. Но все-таки тут нужно искать компромисс. Удачи ! Попробуй - а вдруг получится. :)
  20. Atmega64 и LCD

    Скорее всего все-таки слишком быстро работает процессор. Я бы изучил осциллограммы работы с дисплеем. и поставил задержки побольше - не в 5, а в 10 раз. Хотя конечно, возможна хитрая программная ошибка. Можно попробовать сменить алгоритм - рисовать по точкам. :)
  21. Это во внешнюю память, что ли ? А осциллограф что показывает ?
  22. IAR

    Можно попытаться посредством "Reverse Ingenering" подсмотреть где создается и регистрируется класс окна. И поменять константу "hbrBackground". ;)
  23. И я тоже не рад этой особенности XP. :( Еще раз подтверждаю (опять "влетел") - дело не в разных потоках. Если в программе возможно обращение к порту ОДНОВРЕМЕННОЕ из разых потоков, под XP аппликэйшн зависнет насмерть. А для WIN98 нет проблем. :excl: Это касается всех функций использующих idComDev ( где idComDev это : HANDLE idComDev = ::CreateFile.......) В том числе и ::GetCommModemStatus ::GetCommMask ::EscapeCommFunction ::SetCommState(idComDev, &dcb).. И видимо вообще для всех. В случае применения синхронизации для использования этих функций из разных потоков никаких проблем не обнаружено. :)
×
×
  • Создать...