Пост N: 20
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 04.06.07 01:21. Заголовок: Re:
Андрей, к такту работа компараторов привязана при их программной настройке, сбросах и опросах состояний их выходов (CMCON,6 и 7). В остальном "они независимые, як наша Украiна".
Пост N: 149
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг:
0
Отправлено: 04.06.07 09:44. Заголовок: Re:
Настроив CM2-CM0 = 110 , выходы компаратора на RA3 и RA4. И при подаче на вход компаратора Асинхронного сигнала. Можно, ждать на его выходе (RA3 или RA4) того же Асинхронизма? По другому, появляется возможность отследить ошибку. Которая образуется при попадании фронта импульса на первые два такта генератора! (рис14-16 стр100 даташита по PIC16F62X)
Пост N: 21
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 04.06.07 11:39. Заголовок: Re:
В этом случае (когда CMCON,6 и 7 не опрашиваются и при условии отсутствия сбросов и перенастроек), можно представить себе, что в корпусе ПИКа находится два компаратора, которые "живут сами по себе". (привязки к такту ПИКа нет). Они будут работать точно так же, как и два внешних компаратора. От этого и нужно "плясать". То есть, речь идет о том, что Вы назвали "Асинхронизмом".
Пост N: 111
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 20.06.07 21:59. Заголовок: Re:
Не стал открывать ещё одну тему, достаточно темы "Разное"... В данный момент столкнулся с необходимостью перехода с PIC16F84A на PIC16F628A и работы с EEPROM. Читаю стр.49 часть 2 самоучителя "Практический пример перехода с PIC16F84A на PIC16F628". Регистры EEDATA, EEADR, EECON1,EECON2 расположены в 1-м банке по адресам 9AH, 9BH, 9CH, 9DH. А в примере чтения-записи EEPROM (файл программы 84_628.asm №64) они прописаны по адресам 1AH, 1BH, 1CH, 1DH. Тоже самое и в части регистра VRCON... Где зарыта собака? В своей программе прописал адреса вышеуказанных регистров с 9АН и т.д. Программа работоспособна, но MPLAB настойчиво выдаёт 302 предупреждение, причём в п/п чтения EEPROM!
Пост N: 37
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 20.06.07 22:16. Заголовок: Re:
Можно прописывать и так, и эдак. Просто в одном случае выдаются предупреждения (для жизни не опасно), а в другом случае их нет. Можно только гадать, почему MPLAB стремится все свалить в 0-й банк. До прописки регистров 1-го банка в 0-м банке я дошел чисто опытным путем, так как я хотел избавиться от соответствующих предупреждений. Можно предположить, что регистры 1-го банка, прописанные в 0-м банке, в конечном итоге, отображаются в 1-м банке.
Пост N: 38
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 21.06.07 11:49. Заголовок: Re:
Если в “шапке” программы, при прописке регистра 1-го банка, имеется “указивка” на соответствующую серую клеточку нулевого банка, то о ее работе можно говорить только формально (гипотетически), так как, де-факто (в конечном итоге, в “железе”), регистр 1-го банка в ней не прописывается. По этой причине, я не считаю целесообразным присваивать серым клеточкам "статус" выше того, который они имеют. Это не “причуды начинки” ПИКа. Это “причуды начинки” MPLAB. Нам-то какая разница: “чем бы дитя не тешилось, лишь бы не плакало”. Например меня, не смотря на их безобидность, предупреждения, выданные не по делу, нервируют. Это и вынудило искать простой и эффективный способ их “убийства”. Нашел. Пользуюсь. И предлагаю его таким же “неврастеникам”, как и я. У кого нервы покрепче и кого не раздражают предупреждения, выданные не по делу, тот может работать по-старинке. Не возбраняется.
Пост N: 39
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 21.06.07 15:46. Заголовок: Re:
Да, об этом. Обращение к файлу .INC не устраняет наличие Message. От них можно избавиться либо путем "зеркального отображения" адресов регистров 1-го банка на 0-й банк (это то, о чем я толкую), либо их запретом (директива errorlevel). Конечно же, можно воспользоваться директивой errorlevel и запретить вывод сообщений и/или предупреждений, но ведь это, в отличие от "зеркалки" (и она этим ценна), общий запрет. Он будет распространяться не только на те сообщения и/или предупреждения, “природа возникновения” которых ясна, но и на те сообщения и/или предупреждения, “природа возникновения” которых “туманна”. В последнем случае, довольно-таки часто, сообщения и/или предупреждения являются подсказками, которые указывают на “проколы” в работе по составлению текста программы. Директива errorlevel “убивает” эти подсказки. Я не считаю, что это есть “зер гут”, по крайней мере, до достижения уровня “матерости”.
Пост N: 160
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг:
0
Отправлено: 21.06.07 16:34. Заголовок: Re:
Evgeny Korabelnikov пишет:
цитата:
От них можно избавиться либо путем "зеркального отображения" адресов регистров 1-го банка на 0-й
При пользовании только MPLAB SIM, проблем небыло, программы работали и так и эдак. А при использовании в другом симуляторе, выводилась ошибка. Программы работали только при прописке настоящих адресов. По этому был выбран путь с выводом предупреждений. Воспринимаю эти предупреждения как данность
Пост N: 41
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
0
Отправлено: 21.06.07 16:47. Заголовок: Re:
Речь идет именно о MPLAB SIM. Естественно, что в других симуляторах "зеркалка" не пройдет. Практический смысл этого разговора в том, что, "если знаешь, то вооружен". А это уже не мало. И вообще, творческая работа должна быть "гибкой" и "коварной" (по отношению к "врагу"), а для этого нужно заиметь некий "инструментарий" (чтобы было из чего выбирать). Вот и давайте его приобретать (с неба "инструмент" не свалится).
Пост N: 293
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
0
Фото:
Отправлено: 21.06.07 21:05. Заголовок: Re:
Лично я за Errorlevel -302 и вот почему. Во-первых прописывать в шапке программы регистры дело довольно хлопотное, особенно если их нужно много прописывать. Пользуюсь исключительно директивой include с соответствующим файлом .inc и cblock... Зато голова уже не болит о вспоминании адресов регистров спец. назначения, а другие присваиваются автоматом. Во-вторых не выводится только 302 сообщение, все остальные выводятся. Тем более, что оно меня ну ни сколько не задевает.
Пост N: 161
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг:
0
Отправлено: 22.06.07 00:11. Заголовок: Re:
Алексей пишет:
цитата:
голова уже не болит о вспоминании адресов регистров спец. назначения, а другие присваиваются автоматом
Алексей. а можно подробнее, дело в том, что я столкнуля с этим в плотную когда пытался написать программу под декодер. Тоесть мне приходилось менять и источники прерываний и аналоговую схему, скажу что это действительно мыторно, каждый раз переписывать, что удалить, что дописать. А потом просто дописываю новые регистры, а на чистку уже здоровья нет.
Пост N: 116
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 22.06.07 10:12. Заголовок: Re:
vintik пишет:
цитата:
а можно подробнее
В шапке программы директивой include подключаете дополнительный файл источника из MPLAB. Например include <p16F628A.inc>. Директивой cblock определяете блок используемых в программе регистров. Например
cblock EQU 0CH Reg1 Reg2 Reg3
и т.д. Reg1 будет по адресу 0CH, Reg2 - 0DH, Reg3 - 0EH.
Пост N: 118
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 22.06.07 12:38. Заголовок: Re:
Отчасти хрен редьки не слаще. Заменил адреса в программе с 9АН по 9FH на с 1АН по 1FH. Теперь вместо 302 сообщения вываливается 219 предупреждение "Неправильное распределение ОЗУ" Похоже надо действовать как в той рекомендации: Скрытый текст
Если изнасилование неизбежно, то необходимо расслабиться и получить максимум удовольствия!
Пост N: 302
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг:
1
Отправлено: 20.09.07 19:25. Заголовок: Re:
Алексей пишет:
цитата:
Лично я за Errorlevel -302
Лично я - тоже. А регистры всё же предпочитаю прописывать непосредственно в тексте. Только делаю я это не каждый раз заново, а использую шаблоны (а точнее говоря, копии предыдущих программ). Первоначально же, просто копирую информацию из того же inc-файла.
Пост N: 37
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 08.06.08 18:05. Заголовок: Всем здравствуйте! ..
Всем здравствуйте! На данный момент я клиент данной темы, другой ближе не нашел. Прорабатываю Самоучитель... Пока по Часть Понимаю быстро, потому что в этой области (в программировании) большой опыт, но с ассемблером знаком не был. На данный момент для лучшего монимания составляю программки (привык составлять универсальные, а не под частную задачу) по пройденным материалам, поэтому есть вопросы и есть пожелания. Вопрос 1. Применяя в командах указатель d, куда поместить результат W или f вы (Евгений Александрович) применяете регистры с теми же именами, это привычка или рекомендация (я этого не уловил) , потому что явное всегда лучше неявного, особенно в чужой программе? Есть преимущества или дело вкуса? Вопрос 2. Составляя программу (на основе проработанного) умножения двух двухбайтных чисел, я их составил двумя методами, анализом множителя и последовательным суммированием множимого, это без проблем, а вот способом анализа битов множителя, сдвигом и суммированием (для сокращения времени выполнения операции), хотел воспользоваться командой BTFSS f,b чтобы в цикле перебирать номер бита b, то есть задавать номер бита переменной величиной (регистром), значение которого изменять каждый раз на единицу, не получилось. Это дествительно так, b должно быть конкретной цифрой или битом специального регистра, другого не дано? Я вышел из положения сдвигом право и анализом флага и составил программу по этому способу, но это просилось само на тарелку и облом. По делению, бегло проработал материал Части 2, Приложение 2. В программе деления 2-х на 1 байтовое число, тестил только del_8.asm, все делает, а вот на ноль не делит (я понимаю...), циклится или как скажет Е.А. уходит в вечное кольцо), на универсальность не претендует, надо делать какой то анализ делителя на ноль... Теперь пожелание, на целый час встал в тупик, когда увидел применение команды DECF f,d и значение f дошло до нуля ( восстановления значения в программе нет, а крутить циклы по новой надо, потому что цикл в цикле), в конечном итоге в семуляторе я увидел почему (не откуда произошел заем, в языках высокого уровня этого просто не может быть) и вот здесь, на мой взгляд (особенно для начинающих и не только...), надо этот характерный пример применения команды в файле № 10 прописать (например: DECF CNT,1 До выполнения CNT=0x00 После CNT=0xFF). Еще одно, возможно поздно, но это мой опыт. Касается понимания и удобства работы с многобайтовыми числами (когда у тебя 1-байтовая архитектура) и расположением их в памяти. На мой взгляд назначение адресов регистров (например) RL 0Dh, RM 0Eh, RH 0Fh не совсем удобно при работе в симуляторе MPLAB с памятью RAM, когда видишь непривычое расположение младшего и старшего байтов относительно друг друга в числе (особенно для начинающих дерзать и не только). Конечно их можно назначить вообще в разнобой, но потом с ними трудно работать при отладке. Назначил один раз , а отлаживаешь программу и с ними работаешь десятки раз. Гораздо удобней RL 0Fh, RM 0Eh, RH 0Dh. Попалась описка в написании цифры в файлах 10 и 11 (Тексты программ)в конце программы приводятся по три примера суммирования, в последнем примере средний байт 120+125 =255...
Пост N: 448
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
3
Отправлено: 08.06.08 21:20. Заголовок: Вопрос 1. Применяя в..
Вопрос 1. Применяя в командах указатель d, куда поместить результат W или f вы (Евгений Александрович) применяете регистры с теми же именами, это привычка или рекомендация (я этого не уловил) , потому что явное всегда лучше неявного, особенно в чужой программе? Есть преимущества или дело вкуса?
Можете применять и 0/1, и W/F. Это дело вкуса/привычки. Лично мне, кажется, что последнее удобнее.
Вопрос 2. Составляя программу (на основе проработанного) умножения двух двухбайтных чисел, я их составил двумя методами, анализом множителя и последовательным суммированием множимого, это без проблем, а вот способом анализа битов множителя, сдвигом и суммированием (для сокращения времени выполнения операции), хотел воспользоваться командой BTFSS f,b чтобы в цикле перебирать номер бита b, то есть задавать номер бита переменной величиной (регистром), значение которого изменять каждый раз на единицу, не получилось. Это дествительно так, b должно быть конкретной цифрой или битом специального регистра, другого не дано?
Для биториентированных команд, b это символьное обозначение числа (константы) в диапазоне от .0 до .7 (номер бита), и не более того. То есть, в тексте программы должно производиться не обращение к d, а обращение к одному из конкретных чисел этого диапазона. Либо "напрямую" (в явном, числовом виде), либо косвенно, то есть, посредством символа (символов), поставленного в соответствие этой цифре (используется директива equ). Если Вы хотите перебирать биты, то проще всего последовательно проанализировать состояния всех тех битов, которые Вас интересуют и "сделать соответствующие оргвыводы". При программировании на языках высокого уровня, иллюзия той "постановки на счетчик", о которой Вы пишите, вполне может иметь место быть. Но это только иллюзия/заблуждение, так как разложение на команды такой "постановки" (а это и есть "чистый" ассемблер) все-равно сведется к "серии" вышеупомянутых проверок, и частенько подобного рода разложения "страдают командной избыточностью"/нерациональностью. Спецы, работающие на языках высокого уровня, об этом могут даже и не знать (парадокс), но об этом четко знают (а куда деваться?) спецы более высокого уровня. То есть те, кто работают в "чистом" ассемблере. Говоря это, я совсем не хочу никого обидеть. Просто такова объективная реальность.
По делению, бегло проработал материал Части 2, Приложение 2. В программе деления 2-х на 1 байтовое число, тестил только del_8.asm, все делает, а вот на ноль не делит (я понимаю...), циклится или как скажет Е.А. уходит в вечное кольцо), на универсальность не претендует, надо делать какой то анализ делителя на ноль...
ОК. Принял к сведению. Спасибо.
Теперь пожелание, на целый час встал в тупик, когда увидел применение команды DECF f,d и значение f дошло до нуля ( восстановления значения в программе нет, а крутить циклы по новой надо, потому что цикл в цикле), в конечном итоге в семуляторе я увидел почему (не откуда произошел заем, в языках высокого уровня этого просто не может быть) и вот здесь, на мой взгляд (особенно для начинающих и не только...), надо этот характерный пример применения команды в файле № 10 прописать (например: DECF CNT,1 До выполнения CNT=0x00 После CNT=0xFF).
То, что после декремента от нуля, происходит заем и переход от .0 к .255, я объяснял столько раз, что дальше некуда. А то, что "…в языках высокого уровня этого просто не может быть", очень печально и наталкивает на грустные мысли.
Еще одно, возможно поздно, но это мой опыт. Касается понимания и удобства работы с многобайтовыми числами (когда у тебя 1-байтовая архитектура) и расположением их в памяти. На мой взгляд назначение адресов регистров (например) RL 0Dh, RM 0Eh, RH 0Fh не совсем удобно при работе в симуляторе MPLAB с памятью RAM, когда видишь непривычое расположение младшего и старшего байтов относительно друг друга в числе (особенно для начинающих дерзать и не только). Конечно их можно назначить вообще в разнобой, но потом с ними трудно работать при отладке. Назначил один раз , а отлаживаешь программу и с ними работаешь десятки раз. Гораздо удобней RL 0Fh, RM 0Eh, RH 0Dh. Попалась описка в написании цифры в файлах 10 и 11 (Тексты программ)в конце программы приводятся по три примера суммирования, в последнем примере средний байт 120+125 =255...
Назначение адресов - личное дело каждого. Ничто и никто не мешает изменить адресацию так, как Вам удобно. Спасибо за указание на ляп. Исправлю.
Уважаемые коллеги. Вопрос: как дешево и сердито защититься от спама? Хотя бы от основной его части. Достали (мой E-mail у всех на виду). Может быть кто-то посоветует какую-то эффективную программу (желательно не "массивную") или какой-то способ хотя бы частичной защиты от этой гнусности. Думаю, что эта тема актуальна не только для меня.
Пост N: 828
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг:
1
Отправлено: 17.06.08 15:28. Заголовок: Самый главный способ..
Самый главный способ: НИКОГДА и НИГДЕ не оставлять своего "прямого" адреса. Т.е. писАть не name@mail.ru, а что-нибудь типа nameсобакаmailточкаru или же указывать заведомо неверный адрес, с текстовым предупреждением, как его отредактировать до верного (я так сделал у себя, на сайте). Ну, и конечно, не регистрироваться на всяких сомнительных сайтах, типа Контакта. Применение же различных способов фильтрации весьма чревато. Там может оказаться вполне нормальное сообщение. Кроме того, что бы обойти эти фильтры, спамеры специально делают грамматические ошибки.
Пост N: 453
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
1
Фото:
Отправлено: 17.06.08 20:00. Заголовок: Боюсь что в оутлуке ..
Боюсь что в оутлуке вряд ли получится эффективно боротся со спамом, сколько не пытался спамеры все фильтры легко преодолевают. Сейчас пользуюсь The Bat и модулем расширения BayesIt 0.5.5. Является эффективным обучаемым антиспамовым фильтром, он может даже отделять спам с рекламой в картинке и ему наплевать на грамматические ошибки. Пользуюсь уже года 3, практически нет ошибок, изредка пробивается спам в почту, еще реже причисляются к спаму нужные письма, лично я доволен. Так же можно настроить почтовик на автоматическое удаление спама на сервере. Правда первые полгода примерно придется его обучать, ошибок будет оччень много, но потом все реже и реже. Лучших и более эффективных способов оградиться от уже приходящего спама я не знаю. Dmitry Dubrovenko пишет:
цитата:
НИКОГДА и НИГДЕ не оставлять своего "прямого" адреса. Т.е. писАть не name@mail.ru, а что-нибудь типа nameсобакаmailточкаru
Это кстати не эффективно, на пол года или год задержит спамеров, но потом все равно найдут, в этом можно не сомневаться... У меня 5 адресов, два из которых уже были засвечены, остальные я заводил когда предыдущий засвечивался у спамеров. при чем последние три я не свечу вообще нигде, даю только по емайл либо при личной встрече, а спамеры все равно находят спустя какое-то время. Для публичного обозрения есть первые два.
Пост N: 829
Зарегистрирован: 26.12.06
Откуда: Санкт-Ленинград
Рейтинг:
1
Отправлено: 18.06.08 10:21. Заголовок: Алексей пишет: Это ..
Алексей пишет:
цитата:
Это кстати не эффективно
Очень даже эффективно. Данную "дыру" прикрывают 99,999999% Оставшаяся доля процента - на спамера-мазохиста, который собирает адреса вручную. А адреса твои спамеры находят потому, что они на бесплатных доменах, которые тебя и "сдают". Точнее не твои, а те на которые ты почту отправляешь. А твои "сдают" тех, кто тебе пишет. Таким образом, вроде никто ничего и не нарушает. Тайна ящика, вроде как бы и сохраняется. Возможно тут может помочь изменение адреса в учётной записи (того, который подставляется при нажатии на "Ответить") на "левый". Не знаю, не пробовал. Кстати, на данных серверах действуют антиспамовые фильтры. Уже несколько раз "вытягивал" нормальные письма. А в журнал "Радио" вообще не могу ничего отправить. Ихний сервак пишет, что мой находится в "чёрном списке". Приходится через вэб работать.
А в журнал "Радио" вообще не могу ничего отправить.
У меня никогда такого небыло, правда, тот мейл я нигде не "свечю" и то некоторое время туда поступали спам-письма с рекламой, а в конце письма было написанно, если не хототе больше получать писма - кликните по этой ссылке Я естествено не кликал, ведь так спамер сразу узнает что такой почтовик существует и тогда так завалит что мало не покажется.
Очень даже эффективно. Данную "дыру" прикрывают 99,999999% Оставшаяся доля процента - на спамера-мазохиста, который собирает адреса вручную.
Так и я о том же. С этим можно бороться только заведя мыло на платном сервере, который не сдаст, и ни вкоем случае не отсылать письма на бесплатные сервера. Как же тогда жить без электронной почты??? Да мне кажется даже в этом случае не спасет, есть программки сниферы, которые нюхают интернет трафик и вылавливают из него адреса. Остается только физическое уничтожение спамерства. Dmitry Dubrovenko пишет:
цитата:
А в журнал "Радио" вообще не могу ничего отправить. Ихний сервак пишет, что мой находится в "чёрном списке". Приходится через вэб работать.
Есть у них такая бяка. Видимо с этого сервера рассылается большое число спама. У меня был случай, спам получал... никогда не угадаете откуда... из пенсионного фонда, причем мегабайты. Этот чел даже не шифровался и указывал в письме свое настоящее имя, типа он благое дело делает, рассылает какие то документы и приглашает на работу за гроши. И в каждом письме одно и тоже.
Пост N: 33
Зарегистрирован: 18.11.08
Откуда: Россия, г.Уфа
Рейтинг:
0
Отправлено: 29.12.08 02:58. Заголовок: Читаю с диска PDF фа..
Читаю с диска PDF файлы в программе Adobe Reader 8 (рус). Все замечательно, но одно плохо - не могу распечатать "двусторонней печатью". Поля для сшивания с одной стороны, с левой. Печатать по странице на лист - расточительно как то. Что делать? Что посоветуете? С экрана тяжеловато читать по долгу. Да и не возьмешь с собой в дорогу монитор.
Читаю с диска PDF файлы в программе Adobe Reader 8 (рус). Все замечательно, но одно плохо - не могу распечатать "двусторонней печатью". Поля для сшивания с одной стороны, с левой. Печатать по странице на лист - расточительно как то. Что делать? Что посоветуете? С экрана тяжеловато читать по долгу. Да и не возьмешь с собой в дорогу монитор.
А что делать? Все не четные страницы оставлял, как есть, а четные сдвигал на другой край. И, так с каждой страницей А шо делать? Зато получил 2х-стороннюю печать.
Насчёт знаменитости не могу сказать, но... В нём есть возможность выделения-копирования, просмотра текста. Нет необходимости устанавливать отдельный конвертер из .pdf в .xxx. Работает пошустрее акробата. У меня версия 3.0 Build 1120.
Пост N: 891
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
3
Отправлено: 29.01.09 14:26. Заголовок: В некоторых последни..
В некоторых последних версиях описаний в PDF формате копирование текста через буфер запрещено. Foxit Reader, или платный Advanced PDF Password Recovery, подобные ограничения снимает.
Foxit Reader, или платный Advanced PDF Password Recovery, подобные ограничения снимает.
Каким образом? У меня стоит Foxit Reader 3.0 Build 1222. Я не могу даже выделить текст для копирования. Хотя в меню "Copy" как опция присутствует. Удалось, правда, выполнить "Save As..." в формате *.txt
Пост N: 48
Зарегистрирован: 18.11.08
Откуда: Россия, г.Уфа
Рейтинг:
0
Отправлено: 29.01.09 22:06. Заголовок: Да, получилось. И да..
Да, получилось. И даже есть "фотоаппарат" для фотографирования отдельных участков документа с рисунками. Но все это применимо не ко всем документам. Например первый попавшийся файл \Документация\16F62x-16F6xxA.pdf - ничего не копируется и не фотографируется. Все зависит защиты документа. Пробовал копировать документы со снятой защитой программой Adobe Reader 8.0.0 Текст копируется лучше, в цвете и стиль документа лучше сохраняется (читабельнее выглядит) Копировать удобнее, примерно как в Ворде, в том числе и картинки копируются стандартно. К сожалению таблицы не копируются (только текст из них) и картинки копируются отдельно от текста (потом, чтобы вставить, придется искать их место в тексте).
Пост N: 49
Зарегистрирован: 18.11.08
Откуда: Россия, г.Уфа
Рейтинг:
0
Отправлено: 30.01.09 23:33. Заголовок: Alberto пишет: так ..
Alberto пишет:
цитата:
так снимите защиту с помощью Advanced PDF Password Recovery. Секундное дело.
Спасибо за напоминание. Просто никогда не пользовался. Получается. Viktor_VK пишет:
цитата:
А что делать? Все не четные страницы оставлял, как есть, а четные сдвигал на другой край. И, так с каждой страницей А шо делать? Зато получил 2х-стороннюю печать.
До меня доходит как до жирафа. Не сразу понял, что сдвигать надо пачку бумаги в лотке принтера. Теперь тоже так делаю. Дешево и сердито. Спасибо.
Пост N: 736
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 09.03.09 17:03. Заголовок: Оценка сложности &..
Оценка сложности "того-сего" это субьективная оценка, которая зависит от имеющихся ожиданий, уровня начальной подготовки, наличия/отсутствия желания "пахать как папа Карло", упёртости и т.д. В своей работе я всегда пытаюсь объяснить смысл тех или иных действий, а не только их конечный результат. Естественно, что это более хлопотно и усложняет объяснение. На это я иду совершенно сознательно по причине наличия дилеммы: либо это, либо обмен на что-то более короткое, но менее качественное (ориентация на "мастера", а не на "ремесленника"). Я выбрал первое и предупредил об этом всех. Неоднократно и честно. "Выживают сильнейшие". "Слабые погибают" (напоминаю, что наше дело - чисто мужское. Какие тут сентименты?). Это нормально. Так устроена жизнь.
самоучитель Евгения Александровича слишком сложный
Ну это кому как. Что касается меня, после прочтения первых уроков как то сразу все сложилось в голове. Первая простенькая программа была написана часа через 3-4 после начала чтения самоучителя, а потом пошло, поехало...
Отправлено: 09.03.09 20:10. Заголовок: Посмотрел. Что сказа..
Посмотрел. Что сказать, если человек не знает чем бит от байта отличается. И счетчик кажется ему сложной программой. Мне понравилась рекомендации для него, сразу на Си. Человек не знает структуру контролера и сразу, "очень доходчиво" объяснили.
Гражданину gen22, надо просто посоветовать, начать читать учебник с самого начала. Тогда, сегодняшние его вопросы, самоликвидируются. Галопом по европам, не прокатит.
Пост N: 738
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 09.03.09 20:59. Заголовок: Многие люди искрен..
Многие люди искренне не понимают, что прежде чем что-то взять, нужно что-то отдать. Это издержки общества потребления, а проще говоря, причина мирового кризиса.
Пост N: 1243
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
4
Награды:
Отправлено: 09.03.09 21:37. Заголовок: Пётр пишет: Не совс..
Пётр пишет:
цитата:
Не совсем понято
так вроде никто и не задавал такой вопрос. Был бы задан вопрос, была бы и помощь. Может это затравка такая, типа не ходите туда, там всё сложно? Глядишь кто-то и поверит.
В принципе, это нормально для группы лиц, где присутствует борьба за насест повыше. Боятся не конкуренции, боятся перехода на жёрдочку пониже. Отсюда вывод - сотрудники не уверены в себе, потому и жмут.
Пост N: 1245
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
4
Награды:
Отправлено: 09.03.09 22:37. Заголовок: igor пишет: это нор..
igor пишет:
цитата:
это нормально для группы лиц, где присутствует борьба за насест повыше
так мы вроде не боремся за насест. Ведь это он о нас сказал. Я его вопроса здесь не встречал. Хотя вполне мог и пропустить. Иногда, если тема мне не интересна (автомобили, например), я ее частенько пропускаю. Такое тоже возможно, но сразу говорить что жмут...
Пост N: 981
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
4
Отправлено: 09.03.09 23:05. Заголовок: Alberto пишет: Я ег..
Alberto пишет:
цитата:
Я его вопроса здесь не встречал.
Его здесь наверное и не было! Я понял так, что он начал читать самоучитель с сайта КЕА. Показалось трудным. Пишет о сотрудниках, о своих, а не о нас. С какой стати нас называть сотрудниками? Зашёл-бы к нам на форум, растолковали-бы что к чему.
Пост N: 1246
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
4
Награды:
Отправлено: 09.03.09 23:46. Заголовок: RW1ZK пишет: С како..
RW1ZK пишет:
цитата:
С какой стати нас называть сотрудниками?
он же написал что шифруется, попробуй пойми насколько глубоко он зашифровался . Я понял так, что "сотрудники" (КЕА, естественно) - это мы. Хотя сейчас согласен и с твоей точкой зрения. Оффтоп: Да и вообщё, с какой стати себе голову забивать? Захочет спросит, а не захочет, так и будет обиженным на весь мир ходить. Выбор за ним.
Пост N: 739
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 10.03.09 00:34. Заголовок: Ничего не придумыв..
Ничего не придумываю. Просто крик души порядочного человека:
"Теперь я работаю в фирме по обслуживанию, ремонту медицинского оборудования.... Вот тут я и понял, что "рано плакал"... Для меня отношение работников к работе является недопустимым. Обслуживаем в основном род дома... в 1-й день я подрался с одним из сотрудников: это ж надо было грязными руками (после ремонта сантехники автоклава) вытащить жевательную резинку, которую он жевал неизвестно сколько, и заклеить ей трещину в воздуховоде подачи кислорода в инкубатор, где лежат недоношенные дети..... у которых иммунитета как токового и нет.... может я не прав был, но для меня это идиотизм!!!! Теперь я работаю там один.... до сих пор никто не жаловался, чем я очень горжусь...."
"Порой до такой степени смешные ситуации бывают, что порой начинаешь себя чувствовать профессионалом.... просто когда приходишь в цех/завод или что-то подобное, видишь простую поломку, делаешь все, все работает и тебе говорят, что это оборудование простояло год (один раз даже 2,5 года) приходило около 10 "специалистов" и все разводили руками и говорили: "дайте схему и мы только тогда все сделаем" или "надо менять всю электронику" . Аж смешно..."
"Только очень обидно, что люди прямые честные и принципиальные живут далеко не замечательно.... Для меня живым примером является майор Рахимгулов - этот человек всю жизнь прослужил честно, участвовал во многих вооруженных конфликтах, этот человек говорит, что он по национальности не казах и не русский, а танкист, воевал в Авгане, тушил Чернобыль и что в результате??? звание майор, квартира - свой дом, просто обставленный, старая, развалившаяся шестерка, вынужден работать на военной кафедре, т.к. пенсия ничтожно мала.... так страна отблагодарила человека, который всю жизнь защищал ее. Я разговаривал с его бывшими подчиненными - не один не сказал, что он он воровал или еще что-то подобное.... все солдаты были укомплектованы в соответствии с нормами... А в противовес другой человек, то же майор..... только ему всего 26 лет, даже 5-ти минут не был на поле боя, зато живет в котедже, машина иномарка..... Мне обидно за не справедливость.... это не зависть.... Вот так печально.... Но главное не сдаваться!!!!!!"
Это называется честью и совестью. Счел за честь попросить этого человека (г.Астана, Казахстан) присоединиться к нам. При этом, ни о каких деньгах речи не идет. По сравнению с этим, деньги это гавно.
Станислав (это тот человек, о котором я говорил выше) извинился и отказался от моего предложения (ему нужно было только выслать адрес). Мотивация: "..я не могу себе этого позволить чисто психологически..." Спорить и переубеждать не стал. Бесполезно, да и зачем? После его письма, на душе тепло. Постарался отблагодарить тем же. Он присоединится к нам немного попозже.
Пост N: 79
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 19.03.10 13:37. Заголовок: Есть вопрос, помогит..
Есть вопрос, помогите разобраться. PIC18F2550. Объявлен регистр: CBLOCK 0x300
CONFIGURE
В подпрограмме: MOVLB 0x03 MOVLW CONFIGURE ; 907 строка в программе ;+++ MOVF CONFIGURE, W, BANKED MOVWF ADRES_OUT_L , BANKED То, что закомментировано, это мое. Так вот чужой пример транслируется с предупреждением по оператору MOVLW, но работает программа правильно. Warning[202] D:\PROJECT MPLAB_830\USBUSART\USBUSART.ASM 907 : Argument out of range. Least significant bits used. По описанию, на месте регистра должна стоять константа. С моим же вариантом предупреждения нет, т.е трансляция проходит без ошибок, но работает неправильно. Не пойму в чем дело?
Пост N: 1741
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 19.03.10 15:12. Заголовок: Может быть в том,..
Может быть в том, что в ПИКах 18-й серии, имеется и регистр W, и регистр WREG (см. соответствующую статью "абонемента")? Это "на вскидку" (первое, что пришло в голову).
А вы точно хотите скопировать адрес регистра, а не данные из него??? Если действительно нужно копировать адрес регистра, то компилятор и выдаст эту ошибку, так как
цитата:
CBLOCK 0x300
CONFIGURE
адрес то 2 байтный... еще бы надо endc добавить... соответственно у вас проблемы с памятью в программе... Решайте...
Пост N: 1197
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
3
Фото:
Отправлено: 19.03.10 22:05. Заголовок: Как по вашему компил..
Как по вашему компилятор может понять в вашей конструкции какой байт брать? Тупо запишите младший байт так же явно, и включите соответствующий банк через BSR... конструкция cblock .... endc
Пост N: 84
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 19.03.10 22:46. Заголовок: endc как завершение ..
endc как завершение описания в 3-м банке присутствует, если посмотрите мое первое сообщение, вы поймете, что привел выборочно из программы CBLOCK 0x300 ........ CONFIGURE ........ endc Мне непонятно, как работает оператор MOVLW CONFIGURE, регистр вместо константы, предупреждение появляется, но какк все это работает
Пост N: 1747
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 19.03.10 23:53. Заголовок: Моя версия. Если э..
Моя версия. Если это (то, что в тексте): MOVLW CONFIGURE в памяти программ имеет такой вид: MOVF CONFIGURE, W, BANKED то это банальное копирование содержимого регистра общего назначения в регистр WREG, осуществляемое в банке быстрого доступа. Проще говоря MOVLW CONFIGURE это то же самое, что: MOVF CONFIGURE, W но только "в извращённой форме". Предупреждение (мой переводчик выдал "бред сивой кобылы", но смысл понять можно) - следствие отклонения от стандарта (намёк на то, что содержимое регистра будет сохранено не в F, а в WREG). Таким образом, если команда, работающая с константой обращается не к константе (в явно выраженном её виде), а к регистру общего назначения (это и есть "извращение". Каких высот достигла шахматная мысль!), то константой является содержимое этого регистра, а результат операции сохраняется в WREG. Получается, что это то же самое, что привычное MOVF CONFIGURE, W Если что-то не так понял, то просьба поправить.
Пост N: 87
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 20.03.10 00:11. Заголовок: Я только что провери..
Я только что проверил в MPLAB, при выполнении оператора MOVLW CONFIGURE, в WREG записывается значение адреса регистра CONFIGURE, но не содержимого. На мой взгляд некорректно применен оператор, если речь идет об передаче адреса, буду разбираться дальше. Спасибо
Пост N: 1748
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 20.03.10 00:36. Заголовок: Николай, я сужу п..
Николай, я сужу по памяти программ. Это и есть истина. Кстати, в предыдущем своем сообщении я допустил ошибку типа "по старой памяти" (привык работать в банке быстрого доступа). В этом случае, речь идет о 3-м банке (см. MOVLB 0x03). То есть, регистр CONFIGURE, по причине того, что перед обращением к нему устанавливается 3-й банк, по стандартным меркам, должен быть прописан в нем.
Если верно то, о чем Вы пишите, то получается "разнобой" с памятью программ.
Пост N: 88
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 20.03.10 01:11. Заголовок: Так и есть в 3-м бан..
Так и есть в 3-м банке, только я не совсем вас понял, какой вывод вы окончательный сделали насчет применения оператора MOVLW CONFIGURE (видимо торможу по причине глубокой ночи), мне кажется это совершенно не корректно и в таком ключе используются много регистров, и как все это работает тоже непонятно, может я в чем заблуждаюсь?
Николай, проведите простой эксперимент: в тексте программы, замените то, что вызывает затруднения на то, что соответствует этому в памяти программ и проверьте работоспособность устройства. Если она нарушится, то я заинтригован. В этом случае, прошу выслать мне текст программы для более углубленного изучения (желательно как-то пометить проблемные места). В своих рассуждениях, я полагаюсь на то, что отображено не в тексте программы, а в памяти программ.
Николай, ранее, за основу рассуждений, я брал предоставленную Вами информацию. По причине наличия явного "разнобоя", решил проверить лично. Контроллер PIC18F252. Регистр Reg прописан в банке быстрого доступа по адресу 20h. Для "явного бросания в глаза", до исполнения movlw, специально записал в него 5.
movlw 5 movwf Reg movlw Reg
В памяти программ вижу это:
MOVLW 0x5 MOVWF 0x20, ACCESS MOVLW 0x20
Никакого "разнобоя", в виде команды movf, нет. В WREG записывается не содержимое Reg, а его адрес 20h (это видно в окне Watch). Откуда, в памяти программ, взялась сбивающая с толку команда movf, а тем более и предупреждение ? А не имеет ли место быть "банковский разнобой"? То есть, предустановка банка не соответствует "банковской прописке" регистра, к которому происходит обращение. MPLAB на это обязательно "среагирует", что, вероятно и происходит. Мне тудно об этом судить. По причине отсутствия текста программы, могу только гадать. Как всё это работает? Это интересный вопрос, требующий более тщательного исследования. И вовсе не факт, что "банковский разнобой" является ошибкой. По совокупности всяческих причин, он может быть "заложен" в логику программы. Если предположить, что это так, и это "сооружение" работает чётко, то можно высказать "гипотезу" о том, что речь идет о программном создании отображения регистра, прописанного в банке быстрого доступа, на другие банки (таких отображений может быть несколько). Примерно таком, какое аппаратно организовано в ПИКах среднего семейства (в ПИКах 18-й серии этого нет). В этом случае, "предупреждалки" неизбежны. Если это так, то на мой взгляд, это либо "перемудрёж", либо классная работа, либо что-то между этим (зависит от "заключения экспертизы"). А может быть и ошибаюсь. Но следует заметить, что "предупреждалки просто так не появляются". Это отклонения от общепринятого стандарта, не приводящие к "блокировке" создания HEX-файла (оно "блокируется" только при наличии непростительных ошибок). В большинстве случаев, истина ищется методом проб и ошибок. Это нормально.
PS: "растолковка" сказанного (суть). Если регистр Reg, в "шапке" программы, прописан в банке быстрого доступа, то предустановка, перед обращением к нему, например, 3-го банка, приведет к появлению "предупреждалки" (не считается ошибкой. HEX-файл будет создан), а самое главное к тому, что произойдет обращение не к регистру, прописанному в банке быстрого доступа, а к его "зеркальному отображению" (с тем же значением младшего байта адреса), находящемуся в 3-м банке. В большинстве случаев, это является "глюком". Но не во всех случаях. Квалифицированные программёры могут извлечь из этого немалую пользу. Если привязаться к "вышележащему" примеру, то при работе в любом из дозволенных банков, во WREG запишется число 20h (младший байт адреса). "Фишка" в том, что банки-то могут быть разными. То есть, в "корыстных" (условно) целях, можно программно воздействовать на несколько "зеркальных отображений". Так что мозгам есть от чего "подымиться". И это тоже нормально.
Пост N: 89
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 20.03.10 07:22. Заголовок: Евгений Александрови..
Евгений Александрович, ваш пример мне понятен, MOVWF 0x20, ACCESS (этот прмер говорит, что копирутся значение WREG в ячейку по адресу 0x20 MOVLW 0x20 (то этот говорит о том, что копируется константа 0x20 (адрес) в WREG, аналогии нет у меня в памяти программ тоже самое, только применительно к 3-му банку, в памяти программ я вижу записи, в памяти регистров, какой регистр, как и в каком банке изменяется, вопрос остался только по команде movlw Reg , это из вашего примера. По описанию на команду movlw k, k это константа. Возможности постановки на место константы имени регистра не прописано (в данном случае я выступаю буквоедом). В памяти программ MOVLW 0x20 Компилятор поставил вместо константы адрес регистра, в результате этого действия в WREG запишеться не содержимое Reg, а адрес 0x20 (я проверил). Вопрос? 1. Это что, непрописанная возможность команды? 2. Таким способом можно корректно передавать адрес регистра? Именно по это команде выдается предупреждение.
Вопрос? 1. Это что, непрописанная возможность команды? 2. Таким способом можно корректно передавать адрес регистра? Именно по это команде выдается предупреждение.
Блин, скажите что тут непонятного??? У вас определенному сочетанию букв присвоено значение 0х300? правильно? При компиляции команды movlw можно указать константу явно, т.е. цифрой, А можно и не явно, сочетанием букв. Так этому сочетанию присвоено цифровое значение, компилятор заменить его на это значение. Т.е. получается равносильно. Передавайте адрес регистра хоть до потери сознания, будет работать корректно. У вас проблема в том, что адрес вашего регистра 0Х300, это два байта, и вы эти два байта хотите копировать разом в однобайтный аккумулятор, компилятор вам об этом и сообщает... Argument out of range выход аргумента за допустимые пределы... movlw k где k принадлежит диапазону 0...255, у вас же это аргумент уже 768!!! О чем вполне корректно мплаб и сообщает...
Алексей, считайте, что до меня долго доходит, вы вот тоже объясняете, а умудряетесьв в трех предложениях самому себе противоречить, прочитайте первую половину что вы написали. Если вы говорите о константе (не об адресе) и его алтернатива это сочетание букв, то сочетанию букв соответствует значение (содержание регистра), это было бы понятно (команда присваивает значение константы регистру WREG), но не значение адреса. Вот поэтому я задал в последнем сообщении конкретные вопросы. Но ваш ответ я понял , и о длине адреса вы раньше уже мне написали, но я уже работаю в 3-ем банке, но так как команда используется не по прямому его назначению и не имеет в своем составе параметр BANKED, поэтому и предупреждение получаю, так получается. Мне это не нравиться, поэтому я и обращаюсь к опыту и знаниям других, стоит ли использовать непрописанную возможность команды и к чему это приведет? Подскажите способ передать адрес (исключая числовое значение адреса), и при этом не получить предупреждения.
Пост N: 1199
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
3
Фото:
Отправлено: 20.03.10 10:58. Заголовок: nik_nik пишет: Но в..
nik_nik пишет:
цитата:
Но ваш ответ я понял
По моему вы так и не поняли... Вы передаете 2байтную константу в однобайтный аккумулятор, nik_nik пишет:
цитата:
но я уже работаю в 3-ем банке, но так как команда используется не по прямому его назначению и не имеет в своем составе параметр
и с чего вы взяли что здесь вам поможет переключение банков? Раз уж работаете не с данными а с адресом. Я вам четко уже написал к какому диапазону должна принадлежать константа, у вас она далеко за пределами и переключение банка не поможет, он тут не при чем. Он нужен когда будете работать с данными в этом регистре. nik_nik пишет:
цитата:
Если вы говорите о константе (не об адресе)
В данном случае это одно и тоже. Вы же присвоили сочетанию букв определенное число, вы можете его интерпретировать как какую либо константу, равную 0х300 с определенным названием, и как названный вами же регистр по этому адресу. CBLOCK 0x300 CONFIGURE МПлаб вобщем глубоко плевать на то, что вы имели ввиду регистр или константу когда ее объявляли. Если уж совсем на пальцах то команда movf CONFIGURE,W вызовет обращение к регистру (на самом деле в листинге программы будет movf 0x00, здесь необходимо включить 3 банк и адрес 0х00, что в сумме даст обращение по адресу 300...) У вас этому адресу присвоено буквенное название... команда movlw CONFIGURE (в листинге вы не увидите movlw 0x300) будет истолкована компилятором как movlw 0x300, потому что здесь это уже константа, определенная в шапке. НО, это ошибка, аргумент здесь выходит за допустимые пределы 0...255!!! Пока вы этого не сможете понять, дальнейший разговор бесполезен. nik_nik пишет:
цитата:
но так как команда используется не по прямому
С чего вы взяли, что это ее не прямое назначение как раз наоборот, самое что ни на есть прямое, только сама константа заменена на ее буквенное обозначение, которое прописано в шапке. Лично я всегда ей пользуюсь чтобы задавать адрес первого регистра при косвенной адресации по его названию, при табличном чтении, чтобы задать начало таблицы по ее метке и во многих других случаях. Очень удобно, так как при изменении адресов регистров или местоположения таблицы в памяти программ и т.д. не нужно переправлять программу, т.к. все эти изменения компилятор уже вычислит самостоятельно. Итог... Если нужно работать с регистром, то команда movf CONFIGURE если с константой, то команда movlw CONFIGURE Так как обозначенный адрес (константа) двух байтная, то вторая команда вызовет ошибку, она не может скопировать сразу два байта, либо применяйте директивы HIGH, LOW (movlb high,CONFIGURE и movlw low,CONFIGURE, по моему так), чтобы копировать старший и младший байты соответственно, либо тупо задавайте их явным образом, либо для косвенной адресации можно сделать lfsr 0,CONFIGURE, в этом случае в регистр FSR0 будут переписаны сразу оба байта... nik_nik пишет:
цитата:
и не имеет в своем составе параметр BANKED, поэтому и предупреждение получаю
Далеко не по этому вы получаете предупреждение. Ваша проблема в том, что не допонимаете как работают команды, команды разные и предназначены каждая для своей операции, соответственно и интерпретация для этих команд всех буквосочетаний будет разная, это надо понимать и пользоваться. Т.е. интерпретация буквосочетания будет зависеть для компилятора от контекста... Понимание этого, очень сильно облегчает жизнь программисту на ассемблере, так избавляет от всяческих гемороев при написании программы, особенно если используются таблицы, т.к. при использовании movlw название метки избавляет от необходимости постоянно вычислять и переписывать адрес этой самой таблицы, т.к. вся рутинная работа уже возлагается на компилятор. А это сообщение вы получаете потому, что ВЫ КОПИРУЕТЕ 2 байтную константу (или адрес регистра, что одно и тоже, но не данные из него, для этого другая команда) в однобайтный аккумулятор. Надеюсь сейчас уже понятно?
Проще говоря MOVLW CONFIGURE это то же самое, что: MOVF CONFIGURE, W но только "в извращённой форме".
Евгений Александрович, и вы туда же? Это разные команды, в первом случае в аккумуляторе будет адрес регистра CONFIGURE (либо можно интерпретировать как константу), во втором случае в аккумулятор скопируются данные, лежащие в регистре с адресом CONFIGURE. Т.е. это далеко не одно и тоже...
Пост N: 1201
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
3
Фото:
Отправлено: 20.03.10 11:46. Заголовок: В подпрограмме: movl..
В подпрограмме:
movlb high,CONFIGURE movlw low,CONFIGURE ; 907 строка в программе MOVWF ADRES_OUT_L , BANKED
Вот так будет программа корректно работать, проверьте? Т.к. не знаю дальнейшего текста, то и сказать о корректности этой записи ничего не могу. Только по смыслу...
Пост N: 91
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 20.03.10 13:45. Заголовок: Алексей спасибо, чт..
Алексей спасибо, что тратишь время и объясняешь. В целом приближаюсь к истине , а с константой k вышла у меня промашка, я про команду movlw прочитал у Яцекова (c.339), а в английском мануале написано, что k - это константа, литерал или метка, выходит, что имя регистра тоже может применятся, а потом в другом месте и у него увидел, когда стал копаться, так что извиняюсь за ошибку. В первом приближении пример не прошел, но ясно что копать. Всем спасибо. Удачи.
Пост N: 1202
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
3
Фото:
Отправлено: 20.03.10 15:01. Заголовок: nik_nik пишет: что ..
nik_nik пишет:
цитата:
что имя регистра тоже может применятся
Компилятору абсолютно все равно что в качестве аргумента здесь применяется... Если символьному имени присвоено какое то значение, то он его и возьмет в качестве аргумента. Иначе критическая ошибка. Пример то прошел?
Пост N: 92
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 20.03.10 15:41. Заголовок: Пока нет, не нашел п..
Пока нет, не нашел применения c High и Low. Работает изначальный вариант с предупреждением, а также вариант, когда вместо имени регистра ставлю константу- адрес.
Пост N: 1203
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг:
3
Фото:
Отправлено: 20.03.10 16:14. Заголовок: nik_nik пишет: не н..
nik_nik пишет:
цитата:
не нашел применения c High и Low
В смысле? Просто попробуйте тупо заменить эти две строчки... По идее все должно прокатить, возможно после HIGH LOW лишние запятые поставил, а нужен пробел...
Пост N: 1751
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 20.03.10 17:38. Заголовок: Евгений Александрови..
Евгений Александрович, и вы туда же?
Алексей, кто куда, а я поближе к "тренировке извилины". Парадокс заключается в том, что самый эффективный путь к истине - использование казалось бы неэффективного метода проб и ошибок. Смысл: человек должен дойти до истины сам. Лично. Это абсолютно не подлежащая сомнению "база" психологии воистину эффективного познания. Все остальное ("блюдечко с сами знаете какой каёмочкой" и т.д.) - от лукавого. Массированное применение этого метода "порождает" профессионального системного аналитика (большая редкость), то есть, человека, который, среди множества вариантов, профессионально способен выбрать наиболее эффективный. Из этого следует вывод: чем больше вариантов, тем лучше. Особенно это относится к сложным, для понимания, случаям. Варианты могут быть всяческими, в том числе и "кривыми" (условно). В сложных для понимания случаях, я вижу свою задачу не в том чтобы выдать готовое решение, а в том, чтобы предложить как можно большее количество версий и "наводок". То есть, в идеале, человек должен сориентироваться во всем этом и додуматься до истины сам (кстати, по ходу такой работы, частенько находятся "бриллианты"), а заодно и поделиться ей с "братьями по крови". По-началу, почти всегда, это вызывает раздражение (и мне перепадает), но потом люди спасибо говорят (это из опыта). В данном случае, Николай предоставил строчку текста программы и ее отображение в памяти программ. В целях обеспечения указанного выше, я это формально проанализировал и тем самым дал "замаскированную наводку" на противоречие. По ходу "разборок", было подтверждено, что это противоречие имеется и выявлены его детали, что привело к выбору "правильного вектора тяги". А заодно и я "в тык получил", но я не в обиде. Если нужно, значит нужно. На сколько я понимаю, в настоящее время, необходимо отдать главный приоритет ответу на вопрос о "сермяжной сути предупреждалки", а также и на вопрос о том, что нужно сделать для того чтобы от нее избавиться. В том смысле, что и ответить себе, и поделиться этим с другими.
Блин, скажите что тут непонятного???
Алексей, просьба обходиться с Николаем побережнее. За исключением этого - прекрасная, профессиональная работа. Алексей, спасибо.
Общее замечание: в нашем сообществе, понимание того, что пока не понятно другим (по причине различных уровней подготовки), не должно служить основанием для возникновения даже маловероятных обид. А иначе "каши мы не сварим". Лично я, в этом отношении не ангел, но стремлюсь. Призываю к этому и Вас.
Действительно, грубовато... Николай просто уперся в банки и никак не хотел от них отходить... Решение преподнес на блюдечке только в последних постах, хотя и знал его с самого первого сообщения... Хотя не факт что правильно понял проблему...
Пост N: 94
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 20.03.10 20:07. Заголовок: Мужики, я не в обиде..
Мужики, я не в обиде, в мужском коллективе всю жизнь нахожусь, все нормально. Решение с константой меня не устраивало, хотелось большего, и синтаксис подвел, да + с адресами практически не работал. Тут ковырнул не глубоко, и вижу что такие команды как ADDLW и MOVLW и прменяются при литеральном способе передачи указателя на источник данных, вот те раз думают.
Пост N: 1786
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
5
Отправлено: 31.03.10 17:05. Заголовок: Я являюсь подписчи..
Я являюсь подписчиком новостей "Гаммы". На мой взгляд, в последний раз они прислали нужную информацию. Вот она (к сведению. Указаны варианты замены. И в ценах можно сориентироваться): …………… Приведенный ниже список поможет Вам разобраться и, при необходимости, скорректировать свои планы по закупкам PIC16F84A -> PIC16F628A PIC16F877 -> PIC16F877A -> PIC16F887 PIC16F876 -> PIC16F876A -> PIC16F886 PIC18F452 -> PIC18F4520/PIC18F4620 -> PIC18F45K20 (3В питание) PIC18F252 -> PIC18F2520/PIC18F2620 -> PIC18F25K20 (3В питание) PIC18F458 -> PIC18F4580 PIC18F258 -> PIC18F2580/PIC18F2680 PIC18F6720 -> PIC18F6722 PIC18F8720 -> PIC18F8722 Нам часто задают вопрос «посоветуйте самый маленький пик с …» Просто самый маленький пик – PIC10Fxxx – корпус SOT-23-6, цена – 3.73..6.48 самый маленький, но корпус не SOT-23 - PIC12F629-I/SN – 8 ног - 5.99 АЦП - PIC12F675-I/SN - 8 ног – 7.29 ШИМ – PIC12F683-I/SN - 8 ног – 8.42
ножек больше, чем 8: PIC16F630-I/SL – 14 ног, без АЦП – 9.07 PIC16F676-I/SL – 14 ног, АЦП – 8.10 (да-да-да, с АЦП, но цена ниже, чем без АЦП) USART – PIC16F688-I/SL – 14ног, АЦП – 10.61 что б всё было - PIC16F690-I/SO – 20 ног, АЦП, USART, ШИМ, SPI/I2C (I2C только SLAVE) USB / I2C мастер - PIC18F14K50-I/SO – 20 ног, 16k Flash, 768 ОЗУ, 256 EEPROM, АЦП, USART, ШИМ, SPI/I2C(master/slave) Два ком-порта - PIC24FJ64GA002-I/SO – 28 ног, 64к Flash, 8192 ОЗУ, 2 USART, 2 х SPI/I2C, АЦП, ШИМ – 23.81 Цены в гривнах без НДС
Пост N: 1902
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
5
Отправлено: 31.05.10 16:44. Заголовок: Информация для Укр..
Информация для Украинских участников сообщества.
Здравствуйте уважаемый подписчик новостей от ООО "Гамма" Представляем Вашему вниманию такие новости: На склад поступили программаторы-отладчики PICkit2 Уважаемые коллеги! Мы рады сообщить Вам, что на склад поступили программаторы-отладчики PICkit2 Теперь Вы можете приобрести либо PG164120 – “голый” программатор-отладчик PICkit2 безљ демо-плат, либо DV164121 - программатор-отладчик PICkit2 с демо-платой на основе PIC16F887 в TQFP корпусе. Детальную информацию Вы можете получить на сайте Microchip click herehttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805 Цена 299.7 и 405.0 грн без НДС соответственно. 31.05.2010. С уважением технический центр ООО "Гамма"
Теперь Вы можете приобрести либо PG164120 – “голый” программатор-отладчик PICkit2 безљ демо-плат, либо DV164121 - программатор-отладчик PICkit2 с демо-платой на основе PIC16F887 в TQFP корпусе.
Уважаемый, Евгений Александрович, с Вашей подачи сегодня в киевском филиале "Гаммы" приобрел PICkit2 без демо-плат. Радует, что указанные цены (без НДС) - это, кроме всего прочего, цены продажи за нал. Причем, это действует для любого товара. Разбираться с приобретением буду в выходные.
Стоит ли скачивать и устанавливать последнюю версию MPLAB? В комплекте идет 8.36. Вроде бы более поздние версии можно MPLAB устанавливать параллельно старой, ранее установленной. Хотелось бы сделать именно так.
Игорь, поздравляю с приобретением очень полезной "железяки". Cтавьте то, что идет в комплекте поставки. Кстати, 8.36 это и не такая уж старая версия. Я работаю в 8.10 (она шла в комплекте моего PicKit2) и не пока не жалуюсь. А если все нормально, то зачем "менять шило на мыло"? Если не устроит, то сменю. Никакой проблемы в этом нет. Сейчас, у меня стоЯт 5.70.40 и 8.10. Они работают независимо друг от друга.
Пост N: 1909
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
5
Отправлено: 05.06.10 17:15. Заголовок: Еще одна новость ..
Еще одна новость для Украинских участников сообщества.
Здравствуйте уважаемый подписчик новостей от ООО "Гамма" Представляем Вашему вниманию такие новости: отладочные средства компании Microchip! Уважаемые коллеги! Мы рады сообщить Вам о поступлении на склад отладочных средств компании Microchip! Программаторы/отладчики третьего поколение – PICkit3 и MPLAB ICD3. Данные устройства обеспечивают большую, нежели предшественники, скорость передачи данных по USB, а так-же увеличено количество поддерживаемых устройств (16 битные микроконтроллеры семейств PIC24/dsPIC30/dsPIC33) плюс поддержка 32 битных микроконтроллеров PIC32. Для разработчиков, занимающихся CAN направлением, будет интересен инструмент APGDT002 – анализатор CAN протокола http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en546534 Для изучения USB мы рекомендуем Starter Kit for PIC18F MCU - DM180021 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en543105&redirects=pic18starter Если Вам интересна разработка индуктивной (вандалоустойчивая, металлическая) клавиатуры, то Вас наверняка заинтересует cпециализированная демо-плата DM183027 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en545446 С уважением технический центр ООО "Гамма". 04.06.2010
Все даты в формате GMT
3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет