Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 28.12.2011, 12:12  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от roma9112 Посмотреть сообщение
я сейчас на Подбельском с Фоминым сижу
Если, даже посидев на этих - возможно, уважаемых - господах, вы задаёте подобные вопросы, вам просто необходимо начать с азов. Потому что вопрос о значении, возвращаемом подпрограммой это именно они, азы.
У вас написано void func(); что такое void вы хорошо себе представляете?
Реклама:
makakus вне форума  
Непрочитано 28.12.2011, 12:52  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

void понятно, что ничего не возвращает. Книгу еще не изучил - в процессе. Не могу пока вразуметь, как объявить глобальную переменную, чтобы ее использовали подключаемые функции, и также видеть ее в main. В вызываемых функциях, если назначаю переменные - они локальные, а вот если мне надо в ней исползовать глобальную переменную, определенную в main, наверное я должен передать этой функции значение переменной и return-ом вернуть его??Пока то, что успел почитать не дало конкретного понятия. Приводятся описание, какие то примеры, а вот такого, что это пишем именно здесь и потому, а это там и поэтому - нет. А как человек не профобразования, и только что начав изучать язык трудновато это воспринимаю.
roma9112 вне форума  
Непрочитано 28.12.2011, 13:13  
makakus
Почётный гражданин KAZUS.RU
 
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
makakus на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Вы говорите о том, что называется "область видимости", "передача параметра по ссылке / по значению". K&R не скачали, не прочитали?
makakus вне форума  
Непрочитано 28.12.2011, 13:20  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Да я на работе, если получится, качну или до дома...
roma9112 вне форума  
Непрочитано 28.12.2011, 13:31  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

А у Вас сейчас нет в электронном виде??
Все, качнул, читаю разделы - внешние переменные+область действия

Последний раз редактировалось roma9112; 28.12.2011 в 13:54.
roma9112 вне форума  
Непрочитано 28.12.2011, 17:55  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Как ни странно в книге 1-й редакции это расписано до того просто и доходчиво, что стыдно как я ее раньше не нашел. А у Подбельского пока так и не увидел подобного, может не там ищу
roma9112 вне форума  
Непрочитано 28.12.2011, 17:57  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от ut1wpr Посмотреть сообщение
....Чем отличается "давно" и "в свое время"? Именно в те годы, которые вы упоминаете, мне приходилось работать с упомянутыми алгоритмами. И какая разница, указал я поточнее годы или не указал? Для меня в них (алгоритмах) нет ничего непонятного.... Повторяю, у меня проблем с кнопками нет.
Тем не менее, благодарю за комментарий. Я вас уважаю, как давнего (чуть не написал "вечного") апологета АСМ-а, хотя на мой взгляд и слегка воинствующего. Но это право вы вполне заслужили.
Спасибо , хотя воинствовать и не собирался ,просто для точности и ясности в постах нужно ставить все точки над i ,как говорится ,тем более что по нашим постам учатся начинающие . Апологетом АСМ-а особенно-то не являюсь , хотя признаюсь что он мне больше нравится чем С потому что на нем вообще легче все реализовывать то что на С реализуется с большим трудом и извращениями в виде опять же ассемблерных вставок . Далее, так по ходу Вам сейчас должно быть лет 60-65 - верно ? Иначе не могли Вы тогда в то время работать с ними именно физически - цитата :"...Именно в те годы, которые вы упоминаете, мне приходилось работать с упомянутыми алгоритмами..." - отталкиваясь от упомянутого 70 года -миним 18 лет обычный возраст когда кое-что начинают понимать в программировании вообще +42 года до 2012 сегодняшнего = 60 лет минимум .Если нет столько Вам сейчас лет то Вы просто врете в своем посте про работу с такими алгоритмами в то время, хоть и стараетесь быть довольно убедительным .Если Вам сейчас столько или больше то тогда я извиняюсь и также уважаю Вас что сохранили интерес к электронике до преклонного возраста , хотя неясно почему что до сих пор занимаетесь контроллерами , обычно люди такого возраста уже почти совсем не пишут прог за компом ,так как не совсем понимают как на нем работать уже в силу своего возраста , или используют его обычно только в качестве печатной машинки .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 28.12.2011 в 20:37.
pinco вне форума  
Непрочитано 28.12.2011, 19:01  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от alvadep Посмотреть сообщение
А кнопки мыши то работают по отпусканию.
Так что DAVE_ELEKTRIK прав
Что-то не заметил у Вас именно задачу реализации перетаскивания и отпускания значков на экране где-то ,на этом форуме на том микроконтроллере который Вы сейчас изучаете .У Вас задача что-то включить , или выключить что-то , и в наличие сейчас только кнопка без графического экрана ,и потом - даже в мышиных применениях - отпуск обьекта после отпускания кнопки по другой причине реализовано на мышиных кнопках - но обращаю внимание - все же первоначально там реализована функция именно по нажатию ,а не по отпусканию , и это основной режим - это отметка курсором и захват обьекта .(а стрелять в играх как если было реализован огонь именно по отпуску кнопки - да Вас же бы все время успевали уничтожить еще до того как Вы успели отжать кнопку после ее нажатия !!! - надеюсь это не надо пояснять) А если бы была реализация по отпуску то хотя и можно захватить обьект таким образом , и затем отпустить обьекта , но действий для этого надо тогда проделать больше - выглядело бы это так - ведем курсор на обьект , нажимаем кнопку , чтобы захватить обьект - ничего не происходит , и если двигать мышью теперь то обьект так и остается незахваченым - уже визуальная коллизия с тем что делаем руками , и только когда отпускаем кнопку - обьект захвачен , ну хорошо , вроде бы кое-как сделали половину - теперь обьект прилеплен к курсору - переместили его - нажимаем кнопку снова чтобы поставить обьект на выбранное место - а он не ставится - все так же прилеплен к курсору и двигается за ним , а отпустится он может только после снова отпуска кнопки .Всего получается 2 отдельных уже клика мышью .Традиционным способом по нажатию именно захват и перенесение при нажатой кнопке и отпуск обьекта по отпуску кнопки один клик всего получается - и это короче и визуально удобнее - даже в некоторых прогах типа маленькой ладони рисуется курсор при захвате - например Adobe Reader для просмотра .pdf файлов .Так что удобнее и лучше , и не раздражает -не надо в 2 раза больше молотить по кнопкам - лучше делать по нажатию именно какое-либо действие , а по отжатию делается только когда надо добавить еще функций или это удобнее наблюдать по экрану , естественнее что-ли для человека - нажатие кнопки соответствует захвату обьекта , отпуск кнопки соответствует его отпуску и освобождению обьекта на экране .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 28.12.2011 в 20:29.
pinco вне форума  
Непрочитано 28.12.2011, 19:07  
roma9112
Гражданин KAZUS.RU
 
Регистрация: 25.11.2008
Адрес: Волгоград
Сообщений: 507
Сказал спасибо: 42
Сказали Спасибо 49 раз(а) в 46 сообщении(ях)
roma9112 на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Похоже пока не будет полной конкретики на счет реакции кнопок от автора, спор будет до бесконечности. Можно и кнопки лифтов, банкоматов, например вспомнить и т.д. и т.п.
roma9112 вне форума  
Непрочитано 28.12.2011, 19:19  
pinco
Гражданин KAZUS.RU
 
Регистрация: 04.04.2007
Сообщений: 941
Сказал спасибо: 571
Сказали Спасибо 113 раз(а) в 85 сообщении(ях)
pinco на пути к лучшему
По умолчанию Re: Помогите начинающему по ATmega8515

Сообщение от DAVE_ELEKTRIK Посмотреть сообщение
Я не спорю, я с вами вполне согласен.
Но иногда требуется на отжатие, а иногда и то и другое.

Так вот по человечески не выходит!
Разбирался с аппаратными прерываниями (INT0 прицепил кнопку) разбирался - разбирался, ничего не вкурил.
В книжке высмотрел прогу, та же программа счетчик только с прерываниями по входу INT0 и таймеру (рассматриваю пока только на ассемблере, до С позже доберусь). Алгоритм вроде такой же, как без прерываний(прогу выкладывал ранее). Залил в AVRStudio, в пошаговом режиме показало, что с второго нажатия (при отжатии) результат счета выводится на порт
Алгоритм программы не понятен, народ может подскажете? Мне сейчас трудно быстро понять, так что сильно не ругайте!
Посмотрел прогу от DAVE_ELEKTRIK.(ссылка в постах выше была )
Первое замечание по проге - подпрограммы ну надо же располагать ПОСЛЕ инициализации и тела основной программы , ну сколько же раз говорили - а так сейчас получается все "задом наперед" - пока по проге контроллер добирается до основной проги после включения - ему надо-не надо приходится бестолково выпонять и все что в подпрограммах ,а он еще даже и сам не до конца в этот момент проинициализирован ! - а там еще и reti есть у подпрограмм - и куда там он будет возвращаться если он даже не дошел до начала тела основной программы (хоть и короткой , две строчки там всего , но все же)
теперь кусок - :
------
TIM_OVF0: ; обработчик прерывания Timer0
dec Count_time ; в каждом прерывании уменьшаем на 1
breq end_timer ; если ноль, то на конец отсчета
reti ; иначе выход из прерывания
end_timer:
.....
reti
------
Команда breq это переход куда-то там по результату сравнения , а самих команд сравнения перед breq - нет .Последствия какой команды у Вас обрабатывается командой breq ? (Перед breq строчкой выше перед строчкой с breq должны быть команды сравнения чего-то с чем-то - типа "cp" , "cpi" ,или арифметических действий "sub" , "subi")

И как будет реакция на прерывания - по спаду или по фронту - не может устанавливается как раз в сам момент этого прерывания - а перед ним , потому что обработаться может только одно из них в случившемся прерывании и то какое было определено заранее . Короче , зачем-то сделано перебивка условий реакции прерывания уже в самом обработчике прерывания - когда оно уже случилось , так поздно уже , как говорится , именно перед возникновением и сработкой прерываний в процессе инициализации контроллера устанавливаются их условия как и когда они эти самые прерывания должны срабатывать, а как сейчас то получается судорожная перебивка условий возникновения прерывания в обработке этого же самого прерывания которое уже возникло , а с какими там на самом деле получившимися по проге условиями - еще разбираться надо.
Напишите четко что хотели реализовать , поправьте текст программы , и будем дальше смотреть какие там еще глюки остались .
__________________
Короче асма кода нет !

Последний раз редактировалось pinco; 28.12.2011 в 20:17.
pinco вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите начинающему (PIC16F84A). Slava-martyn Микроконтроллеры, АЦП, память и т.д 11 09.09.2010 21:55
помогите начинающему по WinAVR umkamaks Микроконтроллеры, АЦП, память и т.д 4 05.05.2010 21:01
Помогите начинающему! kolira Микроконтроллеры, АЦП, память и т.д 6 30.01.2010 15:22
Помогите советом начинающему eler Делимся опытом 64 11.09.2008 17:28
Помогите начинающему!!!! sma-etu Микроконтроллеры, АЦП, память и т.д 2 13.12.2006 18:31


Часовой пояс GMT +4, время: 19:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot