19.04.2009, 01:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
to: sva-don
Цитата:
|
Юрий, честно говоря я немного в шоке. Просто LCD до того вылизаны, что вопросы их применения уже даже не рассматриваются. Чтобы решить твою проблему, думаю, что это будет интересно многим, раз такой эффект проявился, значит он может проявиться и у других, нужно:
1. Схему устройства.
2. Тип LCD.
3. Программу управления.
4. Фото платы с обоих сторон. Той, которая сейчас есть у тебя.
|
Все выложено на сайте http://iopa4.narod.ru
P.S. Вопрос решился сам по себе: устройство было подключено к программатору, который, соответственно, подключен к ПК через USB порт. Вероятно это воздействие помех от ПК.
|
|
|
|
19.04.2009, 01:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от sva-don
|
Вот тут на меня наезжали с позорной кличкой "профи" Так вот теперь с очередным юрием разберитесь!
|
А с очередным Юрием нечего и разбираться...
.......
Извините за резкость, думал форум это ФОРУМ, что-то я подскажу, что-то мне. Хочется больше получить знаний о МК АВР и СИ (типа живая подсказка), решить быстро баг, а получается не туда лезешь, это не трогай - это мое.
Поздравляю всех с Светлой Пасхой!
Христос Воскрес!
|
|
|
|
19.04.2009, 11:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от sva-don
|
Сообщение от daddy
|
Кстати, ради прикола привожу код на Васике для LCD.
.........
|
Получается какой-то беспредметный спор. Каждый язык хорош по-своему. По градациям возможностей считается: 1. Basic - "школьный", т.е. самый простой для освоения. Неудобен тем, что в системе, куда переносится программа необходимо присутствие runtime библиотек. Существует вариант BASCOM AVR.
2. Pascal (Delphi) - "институтский", очень быстро в короткие сроки можно создать приложение, которого как раз вам и не хватает в данный момент. Удобен для работы с базами, убедился сам. Дополнительные библиотеки для большининства пользователей практически не нужны. Существует "MicroPascal for AVR".
3. СИ - считается, из языков высокого уровня наиболее гибким и применяемым. (Windows пишется на одной из модификаций языка СИ). Одним из родственников еще и язык Java. Существует "MicroC for AVR".
Зная, в достаточной мере один из вышеперечисленных языков, прочитать листинг и разобраться в нем не составляет труда. Все они позволяют вставлять машинный код или АСМ, чем зачастую пользуются программисты профессионалы - исполняемые файлы (exe, hex) с трудом берут дисассемлеры.
Обособленно стоит в этой градации язык АСМ. Язык быстрый в работе, но тяжелый в написании. Требует математических талантов и усидчивости. И конечно же в АСМ не возможно вставить фрагменты Pascal, Basic, C. CodeVisionAVR позволяет писать программу с фрагментами или практически полностью на ассембелере. Если вы используете мастер кода и прерывания, первое, что он напишет:
Код:
|
// Global enable interrupts
#asm("sei") |
Используем ADC - здесь необходима скорость:
Код:
|
// Read the AD conversion result
// with noise canceling
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
#asm
in r30,mcucr
cbr r30,__sm_mask
sbr r30,__se_bit | __sm_adc_noise_red
out mcucr,r30
sleep
cbr r30,__se_bit
out mcucr,r30
#endasm
return adc_data;
} |
Да с такой легкостью можно вставлять фрагменты асма.
Так, что какой язык использовать вам - это решать вам и только вам.
|
|
|
|
|
19.04.2009, 11:09
|
|
Временная регистрация
Регистрация: 19.06.2007
Сообщений: 85
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от IOPA4
|
Сообщение от sva-don
|
Вот тут на меня наезжали с позорной кличкой "профи" Так вот теперь с очередным юрием разберитесь!
|
А с очередным Юрием нечего и разбираться. Когда у меня была запарка и я умолял о помощи, он только появился из-под тишка и показал свою "суперумность". Особенно удивил его афоризм. Если это его смыл жизни, то тогда все понятно. Да и сейчас: "Отчасти образование сродни какой нибудь неудобной болезни. Во первых, человек образованный разом становится непригоден для большинства работ. А во вторых, ты не можешь держать свою болезнь (то бишь знания) при себе.(С)Пратчетт". К чему это все? Может ума очень много, но вот толку-то? Я часто встречаю на форумах urry и везде примерно одинаковая польза
|
Ну это вы зря... лучше не надо...
Не могу по себе судить других, но два-три года
как я знаю urry как нельзя лучше отразились на
моих знаниях. К тому же он не успел ничего сказать,
а вы говорите о том, что он не успел сделать...
|
|
|
|
19.04.2009, 12:41
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уважаемые знатоки!
to: tnosov & urry - еще раз извините за резкость. Я сожалею.
Хотел попробовать откомпилировать код в AVR Studio 4, выдает ошибку, что не знает таких регистров, хотя в правом окне эти регистры отражает:
-- Прилагается рисунок: --
![](https://kazus.ru/nuke/users_images/19042009/9326027.jpg)
|
|
|
|
19.04.2009, 13:03
|
|
Временная регистрация
Регистрация: 13.07.2006
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Телепатический способности плохо с детства развиты ![Смущение](images/smilies/icon_redface.gif) , посему прошу код в студию.
|
|
|
|
19.04.2009, 14:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Зря вы на "urry" наезжаете... если вопрос поставлен корректно то он всегда поможет, в отличии от 123NM.ru который постоянно отсылает в свой курс, в котором с трудом что то найти...
![Валяюсь от смеха](images/smilies/icon_biggrin.gif) .. рекламу себе делает...
Сообщение от daddy
|
МК здесь ни при чем-вы же сами говорите, что прога работает и счет идет. Дело в дисплее, в котором есть собственный контроллер, требующий инициализации после сбоя(читай- помехи). Ищите причину помех.
|
Именно об этом я и писал... производит инициализацию ЖКИ периодически а не только после подачи питания.
именно так у меня вис ЖКИ модуль (раз в несколько месяцев!!!!) а МК работал..
А после введения периодической инициализации ЖКИ подвисы пропали...
|
|
|
|
19.04.2009, 15:44
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от picavr
|
Зря вы на "urry" наезжаете... если вопрос поставлен корректно то он всегда поможет, в отличии от 123NM.ru который постоянно отсылает в свой курс, в котором с трудом что то найти...
.. рекламу себе делает...
Сообщение от daddy
|
МК здесь ни при чем-вы же сами говорите, что прога работает и счет идет. Дело в дисплее, в котором есть собственный контроллер, требующий инициализации после сбоя(читай- помехи). Ищите причину помех.
|
Именно об этом я и писал... производит инициализацию ЖКИ периодически а не только после подачи питания.
именно так у меня вис ЖКИ модуль (раз в несколько месяцев!!!!) а МК работал..
А после введения периодической инициализации ЖКИ подвисы пропали...
|
Да, все, я уже извинился. Просто первое сообщение от него было с намеком, что ни делает Папа Карла, а получается Буратино. Теперь он дал 1000 очков за ответ, хотя знал, что на асме, что на Си, если таймер построить на счетчике времени выполнения операций, то таймер будет врать с изменением частоты МК. И кто же будет использовать такой таймер для отсчета точного времени, тем более, что МК будет еще и выполнять прерывания. Там время не предсказуемо.
|
|
|
|
19.04.2009, 15:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
123nm.ru - свой сайт переписал, даже вроде бы получил спонсоров. Сейчас ничего, все систематизировано.
К стати был программируемый калькулятор, уже не помню марку, там можно было запрограммировать часы на таком счетчике - врали ужасно ![Обижен](images/smilies/icon_beee.gif) .
|
|
|
|
19.04.2009, 20:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Интересный пример из жизни:
Вот, к примеру, запустить/остановить таймер0 avr-ки можно так (изначально пусть TCCR0=0x00):
Код:
|
TCCR0|=0b00000 001;
TCCR0&=0b00000 000; |
или так:
Код:
|
TCCR0=0b00000 001;
TCCR0=0b00000 000; |
Что корректнее, маскирование или прямая запись в этом случае и почему?
Ответ найдете если посмотреть асм файл в проекте CodeVisionAVR:
1)
Код:
|
IN R30,0x33
ORI R30,1
OUT 0x33,R30 |
2)
Код:
|
LDI R30,LOW(1)
OUT 0x33,R30 |
Как видим, второй вариант предпочтительнее, а зачастую мы видим вот такие записи, с пометкой изящней, элегантней и профессиональней:
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:31.
|
|