Jump to content

    

wf778899

Участник
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Обычный

About wf778899

  • Birthday 08/08/1987

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

835 profile views
  1. Эт понятно B) С трафаретом шо делать, кто скажет?
  2. Инженер-трассировщик печальных плат. По идее - да, этим должны изготовители заморачиваться, моё дело первозданные гербера им дать. Но это пробное задание по приёму на работу =)
  3. Всем привет! Господа, нужен совет, как правильно в Altiume 9.4 подготовить гербер для трафарета пасты. Дали мне пробное задание по работе плату развести, мультиплицировать, по длинным сторонам мультяхи предусмотреть поля 5 мм, подготовить трафарет. Больше никакой информации не дают, мерзавцы. Я развёл плату, мультиплицировал её, нарисовал линии фрезеровки 2мм, на полях - глобальные реперы в слое топа для трафарета (см. скрин). Сгенерил гербера. Вот думаю, как дальше лучше поступить с трафаретом. По плану - в CAMtastice скомпозитить в один слой боттомную пасту с глобальными реперами и отзеркалить получившееся безобразие. Так же поступить с топовой пастой, только не зеркалить в конце. Не хочу ошибиться, поделитесь кто как делает, пожалста... Проект на всякий случай прикрепил ______.rar
  4. Всем привет. Вот почти освоил фоторезистивный метод изготовления ПП. Запнулся на последней стадии (не считая шелкографии) - покрытие вытравленной платы защитным лаком. Платы рисую в альтиуме. Для контактных площадок там генерится слой Solder Mask (Top и Bottom). Как я понимаю, этот слой можно использовать для нанесения лака на плату. Только лак должен быть фоторезистивным. Тогда технология представляется мне так: покрыли готовую ПП этим лаком, высушили, приложили к полученному безобразию шаблон Solder Mask на прозрачной плёнке, прижали, засветили и потом чем-нибудь проявили и - вуаля - готовая зелёная (или какого цвета там этот лак) плата с незащищёнными контактными площадками. Друзья! Подскажите кто знает, если такой лак существует (всё-таки это только мои предположения), то хотя бы как он называется? А если такого нет, то как вы делаете на плате открытые контактные площадки при полном покрытии остальной части платы защитным лаком?
  5. И при этом во вкладке Output поменять расширение на hex и выбрать Format->Other->Intel-Extended ? Хотя я там уже по-разному все варианты перепробовал. Генерится всё равно только один общий hex, раздельными для епромки и для флешки там даже и не пахнет...
  6. Я применил вот такое заклинание: -Ointel-standard,(CODE)=.flash.hex -Ointel-standard,(XDATA)=.eeprom.hex Линкер выдал глобально-фатальную ошибку, несущую смуту и хаос... Fatal Error[e62]: File name "D:\Projects\IAR EWB\Atmel\Try\Debug\Exe\try.hex" used for multiple files Вам не известно, что бы это могло означать?
  7. Да, мог бы и сам догадаться) Спасибо! А вот такой ещё вопрос: я выбрал формат выходного файла intel standard. IAR в этом случае генерит один файлик .hex. Поскольку я использую EEPROM в AVRке, то мне надо знать - этот файл содержит информацию о том, где должны храниться данные - на флешке или в епромке? Я на одном сайте нашёл, что при использовании епромки в контроллере нужно генерить 2 отдельных hex-файла - для епромки и для флешки. Так ли это?
  8. Всем привет! Недавно начал осваивать IAR и сейчас у меня проблемка - не могу разобраться, как в нём записывать данные в EEPROM. Пишу в коде на C++ всё как в примере из хелпа: __eeprom char strHello[] = "Hello World"; Линкер тогда мне выдаёт ошибку - BE009, см. "1" во вложении. По ходу в настройках линкера надо что-то поменять. Или дать команду в его Extra Options. Подскажите, пожалуйста, с каким бубном плясать?
  9. Всем привет! Господа, такой вопрос. Решил поработать с USARTом на ATMega8, код пишу на C++ в IARe 6.11. Сложность возникла в самом начале, в регистре управления UCSRC. Сложность в том, что этот регистр и регистр управления скоростью обмена UBRRH имеют один и тот же адрес. То, к какому из них обращается программа при записи данных определяет старший бит URSEL записываемого значения. Если он сброшен - данные записываются в UBRRH (например 0b01101101) и определяют скорость обмена, если установлен - данные пишутся в UCSRC (например 0b11101101) и конфигурируют другие параметры USART. Проблема в том, что я не могу изменить один регистр независимо от другого. По крайней мере так я вижу при симуляции в окошке регистров - изменение UBRRH ведёт к такому же изменению UCSRC и наоборот, независимо от бита URSEL. Вот кусочек кода: #include <iom8.h> #include <intrinsics.h> #define ENABLE_BIT_DEFINITIONS void main() { UCSRA |= (1<<1); //Удвоение скорости обмена UCSRB |= (1<<7)|(1<<4); //Разреш. приёма и прерываний от приёмника UBRRH = 0x12; //URSEL = 0, но UCSRC принимает тоже значение 0x02!!! UCSRC |= (1<<7)|(1<<5); //URSEL = 1, но UBRRH принимает тоже значение 0xA0!!! Может, это глюк компилятора при симуляции? Подскажите, кто знает. Заранее благодарен!
  10. Таг-с. С включением разобрался - не мог зажечь одновременно более одной цифры, пока не поменял в байте конфигурации настройки яркости с постоянной максимальной на переменную минимальную. А теперь такой вопрос: как поменять выводимую на дисплей информацию? По идее структура общения такова: 1 Выключаем дисплей 2 Записываем конфигурацию 3 Записываем дату какие цыфирьки надо зажечь 4 Включаем дисплей Для другой символьной комбинации выполняем те же шаги, просто с другой датой. Так должно быть или не так? У меня пока не получилось...
  11. А, ну так это совсем другое дело)) Теперь понял :beer:
  12. A+B == B+A A | B == B | A Возможно мы говорили про разные вещи? CHIP_CONFIG_ADDRESS - как я понял - три бита адреса команды на запись с 0-го по 2-й. А CHIP_CONFIG_PAGE - два бита выбора страницы памяти - 3-й и 4-й в той же команде. Как можно менять местами такие вещи и при чёт тут, пардон, дизъюнкция? ;) Или я всё не так понял?
  13. Так..Угу. Только CHIP_CONFIG_PAGE и CHIP_CONFIG_ADDRESS местами перепутаны. А конфигурацию обязательно в этот камень забивать перед работой, или можно ограничиться дефолтами, если они есть?
  14. Привет всем. Вопрос такой: кто-нибудь работал с STLED316MTR? Это контроллер дисплея на 6 циферек с возможностью сканирования матрицы кнопок 2х8, управляется по трёхпроводной последовательной шине (STB, CLK и двунаправленная DIO). Подвязал я к нему AVR-ку, пытаюсь посылать на STLED команды, чтоб он хоть что-то на дисплее зажёг, но пока получилось только зажигать одну из восьмёрок (какую - зависит от адреса цифирьки в передаваемой команде) . Даташит по нему скачал, но понял, судя по всему, не всё. Суть вопроса - какова правильная последовательность передачи команд на этот контроллер (команды у него делятся на категории: конфигурация дисплея, запись данных в буфер модуля управления дисплеем, считывание данных из буфера, а ещё отдельные 2 команды на включение/выключение дисплея). В 8-битной команде записи данных в нулевом банке памяти содержится адрес цифры, которую надо зажечь. После команды следуют 8 бит данных (соотв. 8 сегментам). Так вот я сначала даю команду на включение дисплея, потом команду на запись в буфер данных по цифре, потом сами данные. Включаю схему - выбранная на дисплее цифра моргает 1 раз. Тогда я зациклил эти три шага - цифра горит. Но, думаю, это не выход. Что-то я делаю не так. У меня не получается в этом цикле зажечь одновременно хотябы 2 цифры посредством посылки команд на запись соответствующих данных после включения дисплея. Господа! :1111493779: Если кто-то знает эту микросхему, дайте знать, пожалуйста, я тогда поконкретнее вопрос задам. Заранее спасибо!