Пост 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х-стороннюю печать.
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет