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

Ruslan1

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

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


  1. Ну и когда захотите попрактиковаться, то на первом этапе можно вообще обойтись пез деталей и паяльника- установите Proteus. Это программа, которая позволяет нарисовать принципиальную схему и просимулировать ее работу, также поддерживается симулирование многих микроконтроллеров, то есть можно и программу просимулировать вместе с электроникой, и все это на экране компьютера. В комплекте с программой поставляется море примеров, от лампочки с выключателем до иерархических проектов с микроконтроллерами. Собственно, протеус позволяет произвести сквозное проектирование, от идеи и симуляции до разработки печатной платы, но для начала хватит и симуляции. По-моему, самое то если хочется много всего поглядеть, но пока не выбрали что интересует больше всего. Ну а потом выберете направление- начнете тратить деньги на железяки и прочее. :)
  2. ну, у вас в комментариях в тексте программы написано: __config 03ff1h ;Установка битов конфигурации: ;стандартный ХТ-генератор, WDT включен, бит защиты не установлен, ;PWRT включен (1111 0101). Я ж не телепат, у вас в тексте написано "WDT включен", или это комментарии для шпиенов, которые могут исходник украсть :) Огромное пожалуйста :) Не меняйте все, используй те системы счисления, которые удобны именно вам именно в этом месте, компилятору все равно. хм... не понял вопроса, наверное это может от редактора и настроек винды зависеть. Я нажимаю кнопку "э" в латинском регистре, получаю " ' " Это просто текстовый файл, компилятору все равно как эти символы в файл попали.
  3. Вроде бы вот нашел с ходу: Производитель: орбита Как говорит моя жена, базар не обманешь. 1. Берите то, на что видите параметры, то есть AD780 2. Будьте патриотом, не берите отечественные компоненты. Иначе начнете эти отечественные компоненты ругать и перестанете быть патриотом :) 3. Берите то что можете достать и сегодня и завтра. 4. Экономия это не только 20 рублей на этой детальке, это еще процедура отбраковки и ремонта и доставания и звонки производителю с требованием объяснить почему не так работает или вообще где найти нужные параметры. В-общем, или думайте сами или берите этот ен21.
  4. Неа, ненормально. бред какой-то. такое ощущение, что отладчик совсем что-то другое показывает. Поглядел ваш код в мплабе. 0. Первое правило(и на асме и на си): вы должны четко понимать, почему компилятор выдал предупреждение (warning). Норма- полное отсутствие варнингов на программе любой длины. В исключительных случаях они должны быть задокументированы (Типа "тут компилятор ругается на строку номер хх, но это нормально и вызваноо тем-то и тем-то") 1. варнинги такие, что их впору ошибками назвать: Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 73 : Argument out of range. Least significant bits used. Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 75 : Argument out of range. Least significant bits used. Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 89 : Argument out of range. Least significant bits used. Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 91 : Argument out of range. Least significant bits used. Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 108 : Argument out of range. Least significant bits used. Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 113 : Argument out of range. Least significant bits used. Warning[202] C:\MY_JOB\TEST\PIC\TURBO.ASM 115 : Argument out of range. Least significant bits used. Причина везде одинакова: zum0 movlw 255h ;Записать константу 255 в аккумулятор (w). если вы написали "h", то это 16-ричное число, а если хотите десятичное то советую .255 писать. А из записи 255h компилятор успешно загрузил 55h. Точка перед числом укажет на ее десятичность. Кстати не советую на формат "по умолчанию" надеяться, лучше все-таки все держать под контролем. 2. советую смотреть отладку в окне View->Disassembly Listing. Там слева показано, во что именно ваш код был скомпилирован, подобные вышеприведенным ошибкам сразу видны становяться, например: 013 3054 MOVLW 0x54 75: zum1 movlw 254h ;Записать константу 254 в аккумулятор (w). пофиксил ваш код на эти ошибки, заодно и предположил что остальные константы тоже были в девичестве десятичными, из тож пофиксил. 3. Если применяете двоичную константу, то ее можно прямо в двоичном виде писать, вам удобнее а компилятору все равно. то есть строку movlw 192h;Формирование на выводах RB5, RB6 логической 1. Записать константу 192 (1100000) в аккумулятор (w). предлагаю изменить на movlw b'01100000' 4. У меня ничего похожего на ваше с аккумулятором не происходит. Ведет он себя как и должно хорошо воспитанному аккумулятору, меняется только согласно указаниям программы. Прикрепляю архив с проектом, может найдете где у вас что не так.(использовал MPLAB IDE 8.63) PIC.ZIP Конфиг у вас некорректный. Тут можно быстро посмотреть в мплабе: Configure-> Configuration bits. Я вижу что "WDT disabled", а судя по тексту в коде вы его хотели включить. Про конфиг можете в документации на контроллер посмотреть, в конце обычно есть посвященный этому раздел. Не найдете- спрашивайте. P.S. Ну а может теперь работает? я дальше не смотрел..............
  5. ясно. это диагноз, а я не доктор. в твит так в твит.
  6. ну тогда только железячно, нужен там еще инвертор, чтоб дошла нужная полярность. Или как временное решение- переименовать входные клеммы. :) (Только не бейте, зато быстро-то как! :)
  7. Слышь, мужик, тебе на пальцАх объяснить, что ли? Хорошо, попытаюсь. 1. Идешь в ...... 2. там берешь книгу. Это такие почти как кирпичи, но еще листать можно. Смотришь чтобы сверху было написано "П.Хоровиц, У.Хилл. Искусство схемотехники" Учти, сказки братьев Гримм не покатят. 3. Открываешь главу "Транзисторы". Подраздел "Транзисторный источник тока". В моем издании 1986-го года это 1-й том, страница 102 и несколько следующих. 4. внимательно ЧИТАЕШЬ. так как писать ты умеешь, то и читать надеюсь тоже. 5. ДУМАЕШЬ и РАЗБИРАЕШЬСЯ как это работает. 6. Рисуешь свое и применяешь. Лично я до сих пор помню, сколько удовольствия мне это доставило, когда я наконец понял КАК это работает и сварганил быстренько из подручных деталей нужную мне токовую петлю для линии неизвестной длины и сопротивления. Как мне сказали через несколько лет, моя развязка RS232-токовая петля работает лучше чем покупные. А всего-то внимательно "вкурил" несколько предложений из нужной книги. P.S. Насчет колбасы- ну меня правда еще в школе учили литературой пользоваться, тогда да, ни интернета не было, ни форумов, одни книжки. про фидо я значительно позже узнал...
  8. Абсолютно не нужно такое решение. Причины: 1. требует минимального потребления, иначе ничего не гарантируют. Около 20% от номинала будете есть -тогда будет регулировать. Для вашего случая (1W/5V) это 40 мА 2. собственно сам жрет даже если вы ему нагрузку не даете, около 15 мА 3. механически велик в высоту и хочет отверстий в плате для установки, выводы не гибкие (ну хорошо, малогибкие :) 4. дорог(он кажется доллара три стоит). за гораздо меньшие деньги можно найти гораздо более красивое решение. Если хотите преобразовать в 5 вольт- то из 5.6 в 5 простым линейным LDO стабилизатором получите КПД 89%. Лучше вы на коленке не получите с любыми микросхемами, за лучшее придется бороться. Но у вас достаточно нехороший случай- в начале разряда напряжение выше нужного, а в конце разряда аккумуляторы выдают 1.1вольта или менее, то есть напряжение будет ниже нужного. Есть специальные схемы DC-DC, которые умеют скажем при входном от 3 до 10 держать выходное 5, но вам оно думаю не нужно. Проще перейти к входному напряжению которое всегда больше выходного (и стабилизировать/преобразовывать вниз) или которое всегда меньше выходного (и преобразовывать вверх). Для вашего случая- добавить еще одну батарейку или наоборот выкинуть (если оставшейся емкости батареек хватит)
  9. Или можно программно инвертировать сигнал после чтения с АЦП, иногда это проще. (но получается что работает медленнее на эти несколько команд)
  10. так то новички. А идти получать диплом киповца и махать флагом "нафиг не надо понимать как эти три детальки работают", это совсем другое. Я когда после института в 1995-м почти год электромехаником отпахал, то у нас в отделе без высшего образования ни одного электрического механика не было, такой вот "оверквалифаед", причем коллектив десятки лет существовал в подобном составе. Сейчас, я смотрю, обратный процесс пошел, "недоквалифайед"................
  11. Собственно железяке все равно кто ей битики передает :) скорее глючил софт, подключенный к программатору. Опять же возможностей немного: либо некорректно считывались фьюзы из файла, либо вообще формат выходного файла компилятора(линкера) не соответствовал входному формату программы, к которой подключен программатор.
  12. Пожалуйста, возьмите за правило отталкиваться от постулата что виноваты ваши ручки. :) В данном случае скорее всего некорректно написана программа. На симуляторе в мплабе работает как задумано? если да, то тогда смотрите фьюзы, может вочдог неотключенный срабатывает или вообще задающий генератор некорректно задан. Кстати, именно с фьюзами разные программаторы по-разному работают. некоторые вообще могут не читать их из программы (если вы их туда вообще поместили), а требовать онлайн ввод перед программированием. А для того чтобы убедиться что прошилось то что хотели, в программаторе есть функция "Verify"
  13. PIC18F45K22 and MCC18

    Да что тут щупать, относитесь как к молотку. Гвозди удобно забивать- вот и хорошо. А из какого этот молоток сплава- лично мне уже сугубо фиолетово :) Ну, разве что в образовательных целях или для копания в чужих исходниках. Ассемблер. Искренне сочувствую и рекомендую использовать ассемблер только тогда, когда Си не справляется. И не иначе. Я много лет на ассме сидел, базы данных с индексацией и свои библиотеки плавучки на PIC16C74/C77 писал. Так вот сейчас это все вспоминается с некоторой грустью, очень много времени было потеряно без должной аргументации "нафуа это надо?". Не те времена, и тогда и сейчас, всегда можно взять процессор, позволяющий сделать задачу на Си. Остальные случаи можно посчитать на пальцах одной руки фрезеровщика со стажем.
  14. старый добрый JDM... :) 1.программатор точно работает и корректно связан с компьютером? Насколько я помню, WinPic имеет встроенные средства для диагностики и проверки программатора типа "включить линию 1" .... С их помощью можно в статике проверить доходят ли нужные сигналы до программатора. Это все делается при невставленном программируемом микроконтроллере! 2. питание подключили? 3. нужные лампочки в нужное время зажигаются на программаторе? PWR все время горит, а "VPP PROG" во время программирования? Классически как правило еще с однократок/ультрафиолеток 13 V на MCLR майкрочип рекомендовал, насколько я помню. Даташит по программированию смотрели? это лучше, чем "некоторые сайты" :) все совпадает? http://ww1.microchip.com/downloads/en/DeviceDoc/30277d.pdf TABLE 5-1 VDDP Supply voltage during programming 4.5 5.0 5.5 V VIHH High voltage on MCLR for Test mode entry 12 14.0 V IDDP Supply current (from VDD) during program/verify 50 mA
  15. Ну например у Майкрочипа есть, может и подойдет.
  16. PIC18F45K22 and MCC18

    угу. А потом при переходе к dsPIC или PIC32 обратно на майкрочиповский C придется переходить. Так что думайте, освоить одно и дальше продолжать в том же ключе или метаться. А насчет глючности MCC18 сомневаюсь честно говоря, но в перепалку по этому поводу вступать не буду, для 18-х использовал только хайтек. Кстати компилятор тоже не без греха. Были заморочки с некоторыми версиями, но бочку катить не буду, может все-таки ручки у меня кривоваты. Но в любом случае не нужно увлекаться автозаполнялками регистров, может выйти боком в самый неподходящий момент. Кстати, Вы не сказали, на чем ездили когда сидели на 16-й архитектуре. неужто на мпасме?
  17. Ну, зря вы так. с данными иногда интересно поиграться. Вдруг у кого-то из профи найдется лишняя минутка и они просто походя решат вашу проблему. Игры-то тут очень простые, если данные есть и знаешь или догадываешься где копать. Я ( но я не профи в ЦОС) бы например тоже с удовольствием покрутил хоть на пример изучения матаппарата на конкретной задаче.
  18. еще проще, просто данные в строку через запятую. кавычки это в особо извращенных случаях. Новый набор данных (скажем, новый входной массив, другое измерение) начинается с новой строки. например 1,2,3,4,6.4,55.9,222.1,20,3.8e-9,17 например, ексель такое и читать умеет и генерить такие файлы из любого своего формата. очень классный формат если не знаете кто потребитель данных или нет четких указаний на формат. всегда легко конвертируется во что попало. :) собственно первоисточник: Common Format and MIME Type for Comma-Separated Values (CSV) Files (RFC 4180) А про остальное не скажу, потому что не знаю.
  19. честно говоря первое что пришло в голову- это фильтрация по скорости нарастания: если модуль разности in - in[i-1] больше заданной величины, то out = in. иначе out = in[i-1]. но я не специалист по ЦОС :) Для того, чтобы заинтересовать больше людей, можете выложить данные в каком-нибудь популярном формате, который легко втянуть в матлаб, например. Мне больше всего CSV нравится, хоть в ексель, хоть в матлаб, хоть текстовым редактором посмотреть можно.
  20. Параллельно Форуму попробуйте на окружающих предприятиях и НИИ в соответствующих отделах искать. Довольно часто этим вопросом занимаются люди, не привыкшие к пользованию форумами и интернетом, старшее поколение, так сказать :)
  21. Да, прикольненькая ссылочка, любопытненький документик. Всем вляпавшимся- искренние соболезнования. У нас, в независимой от всех, проще. Все меньше шансов вообще понять что еще у нас могут поверить, а что уже просто физически негде. Недавно вон наш ИО президента предложил урезать финансирование Академии наук и по текущим и по фундаментальным исследованиям. до нуля. вроде бы пока не прошло :(
  22. самое дубовое- MODBUS. Если к компьютерам/каналам связи с неизвестными задержками подключать хотите- то обязательно посмотрите MODBUS-ASCII, ну а если все детерминировано- то MODBUS-RTU. А если еще не уверены про интерфейс- посмотрите CAN. тоже два провода. Больше возни сначала, но потом много вкусностей увидите.
  23. Ну так какие варианты? Значит вам никуда не уйти от кнопок с нормально разомкнутым состоянием. Требуйте переделать. Странно, что такие неадекватные программисты "вещь в себе" еще работают и не вымерли. Велика Россия, всем место находится :) Если бы он привел вам аргумент в виде расчетов, показывающих вероятность ложного срабатывания кнопки в ваших условиях внешних воздействий, я бы снял шляпу в знак уважения. А аргумент типа "все так делают" - глупость и аргументом не является.
  24. Любые приборы, если результатом действия этого объединения является информирование о результатах измерения. :) Также сюда входят и средства доставки (провода, каналы связи, эфир, межзвездный вакуум....) Также сюда входят и средства отображения (дисплеи и т.д) Также сюда входят и средства администрирования (СисАдмин, его начальник, их компьютеры, сейф с архивными дисками, охрана с бластерами....) Также сюда входят архитектурные и инженерные конструкции (здание для диспетчеров, вышки связи....) Ну и еще чего-то можно добавить по вкусу. PS. Вопрос четкого ответа не имеет, все очень индивидуально. Хотя разве что какой-то ГОСТ или более мелкий нормативный документ дает толкование термина....
  25. Я использовал PIC32MX575, это из того же даташита что выбранный вами проц, но без езернета. Бойтесь ахтунгов из-за угла! Не поленитесь расписать по ногам, как вы одновременно будете его разношерстную периферию пользовать. Пример из рапиновки выбранного вами процессора: нога с функциональностью: ERXDV/AERXDV/ECRSDV/AECRSDV/SCL4/SDO2/U3TX/PMA3/CN10/RG8 То есть, если оно будет SCL4, то она уже не будет SDO2 и не будет TX3. Если вы по привычке подумали что майкрочип продолжил позволять юзеру через матрицу соединений переназначать пин для нужной функции, как это было у ряда dsPIC - облом-с, нетути. Сам на такое нарвался, сначала выбрал PIC32 проц по таблице, потом начались засады, в результате пришлось из двух SPI оставить один, и то же самое с USART случилось- периферия друг друга давит. Есть и другие бутылочные горла, например наличие всего двух таймеров (иди даже одного, если 32-битный) для всех ШИМов и модулей захвата. Так что вот так про много-чего-там-в-одном-флаконе от майкрочипа. В этом смысле хорошие воспоминания оставил AT91RM9200, вот уж действительно много всего было и сразу. Но конечно если встроенной памяти хватает, то что-то монстровидное с внешней SDRAM и ПЗУ отдыхает. но думаю, нашел бы альтернативу этому PIC32 если бы хорошо искал.
×
×
  • Создать...