реклама на сайте
подробности

 
 
17 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Микроконтроллеры для начинающих, AVR, PIC, FUJITSU
kpv
сообщение Mar 24 2005, 11:21
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 1-06-04
Из: Nighny Novgorod
Пользователь №: 27



Atmel
Производитель: Atmel Corporation.
Сайт: ENG РУС
http://[banned]/
детально не изучал, но, вроде бы, достаточно полезного материала для начинающих.
AVReAl - программатор AVR в последовательном режиме через LPT
Осваиваем AVR микроконтроллеры
Сайт Михаил Николаева, большого любителя пива и коллекционера пивных этикеток

Microchip
Производитель: Microchip Technology.
Cайт: ENG РУС

http://pic16f84.narod.ru/
Что такое PIC ? Программатор, проекты для PIC16xxx, ссылки на документацию.

FUJITSU
Производитель: FUJITSU
Сайт:ENG
Микроконтроллеры Fujitsu 16-LX/FR
FAQ по микроконтроллерам MB90FXXX, MB91FXXX.
Внутрисхемный программатор микроконтроллеров семейства F2MC-16LX и FR.
[url=http://www.fujitsu.com/global/services/microelectronics/product/micom/support/faq/]FAQ Fujitsu от производителя, ENG[url]


--------------------
Go to the top of the page
 
+Quote Post
sK0T
сообщение Mar 24 2005, 21:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 241
Регистрация: 22-12-04
Пользователь №: 1 610



Замечательный универсальный программатор — PonyProg. Умеет программировать кучу разных типов микросхем (в том числе и PIC и Atmel) и при этом прост в изготовлении. Софт работает как под FreeBSD так и под windows.
Go to the top of the page
 
+Quote Post
Alexandr
сообщение Mar 25 2005, 08:52
Сообщение #3


Знающий
****

Группа: Модераторы
Сообщений: 804
Регистрация: 1-12-04
Пользователь №: 1 283



Не советую PIC для начинающих. Лучше действительно начинать с ATMEL. Объясню: у PIC-ов слишком оригинальная архитектура, неудачная регистровая система, банки памяти - все это ИМХО конечно. У ATMEL-ов (AVR,51) понятная, легкая в понимании архитектура. И последующий переход на другие микроконтроллеры будет проще. Все высказанное мнение относится к вопросу изучения микроконтроллеров начинающими на оборудовании типа лабораторных стендов. При работе с реальными проектами конечно есть нюансы.


--------------------
Иван Сусанин - первый полупроводник
Go to the top of the page
 
+Quote Post
nameless
сообщение Apr 6 2005, 12:06
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 9-07-04
Пользователь №: 305



Цитата(Alexandr @ Mar 25 2005, 11:52)
Не советую PIC для начинающих. Лучше действительно начинать с ATMEL. Объясню: у PIC-ов слишком оригинальная архитектура, неудачная регистровая система, банки памяти - все это ИМХО конечно. У ATMEL-ов (AVR,51) понятная, легкая в понимании архитектура. И последующий переход на другие микроконтроллеры будет проще. Все высказанное мнение относится к вопросу изучения микроконтроллеров начинающими на оборудовании типа лабораторных стендов. При работе с реальными проектами конечно есть нюансы.
*


Не советую AVR для начинающих. Уж куда приятнее PIC. В преподавательской практике использовал оба - PIC схватывают на лету !!!
Есть подозрение - что из-за системы команд.
Go to the top of the page
 
+Quote Post
_Sam_
сообщение Apr 7 2005, 12:34
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031



Вот натолкнулся недавно http://www.ntlib.chat.ru/mk.htm.
Go to the top of the page
 
+Quote Post
Algol
сообщение Apr 8 2005, 16:22
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 140
Регистрация: 7-04-05
Из: Россия, Владимир
Пользователь №: 3 941



Сам начинал с PICов, думаю не ошибся, большое количество информации как в интернет, так и книг, делает их весьма популярными. Система команд действительно довольно проста и легка в усвоении, в отличие от MCS и AVR у которых команд намного больше. Тем более если разобраться с PICом, переход на другой чип не вызовет никаких проблем, ИМХО
Go to the top of the page
 
+Quote Post
4Rost
сообщение Jul 3 2005, 12:16
Сообщение #7





Группа: Новичок
Сообщений: 3
Регистрация: 2-07-05
Пользователь №: 6 470



Думаю будут полезны вот эти два сайта:
http://digitchip.by.ru/
http://microprocessor.by.ru/
Go to the top of the page
 
+Quote Post
vip6k
сообщение Aug 3 2005, 13:13
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 13-05-05
Пользователь №: 4 994



Сам начинал с PIC-ов т.к. они появисились раньше всех на рынке. Потом пробовал 51 семейсво, понравилось. А сейчас работаю на AVR, у них почти во всех есть аппаратное умножение, хорошие компиляторы и отладчики. Хочу попробовать Texas Instru т.к. у них очень маленький ток потребления (встречаются задачи).
Go to the top of the page
 
+Quote Post
Dmitron
сообщение Aug 12 2005, 06:44
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 627
Регистрация: 24-03-05
Из: Севастополь
Пользователь №: 3 655



Работал и с пик, и с АВР, и с МСПИ. Приходилось и с 51. В каждом контроллере есть свои уникальные особенности, которые приходится выяснять. У пиков таких особенностей меньше, у МСПИ - больше. У авров - посередине. С пиками(16F84) разбирался 2 дня, после этого с аврами неделю, после чего с мспи - на ассемблере до сих пор не пишу, только на си. Между делом и с 51.

С нашей радиолюбительской точки зрения авры обладают наилучшими характеристиками по направлению стоимость-ресурсы-удобство-быстродействие.
С нашей профессиональной точки зрения наилучшими свойствами обладает мспи.
Многие коммерческие серийные проекты делаются у нас на пик. Так что если серьёзно заниматься контроллерами - нужно уметь писать на все. А если не очень - то только на один, причём на любой. У меня таким "любым" является авр 8535 и мспи 149. при несерийном производстве они обеспечивают наибольший выйгрышь по критерию функциональность-время отладки-стоимость.


--------------------
Решаю любые проблемы кроме своих
(dmitron1036()mail.ru)
http://uselect-el.ucoz.com
Go to the top of the page
 
+Quote Post
Kofey Nik
сообщение Aug 21 2005, 18:35
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 5-07-05
Из: Нижний Новгород
Пользователь №: 6 540



ПРостите, а где можно надыбать компилятор с Си для MCS-51? Франклин не советуют, избыточный код мол генерирует, советуют Кейл, а даже дем версии на сайте Кейла я не нашел. Есть кряканый, но на китайском языке тот сайт.
И вообще, насколько рационально переходить на Си?


--------------------
Все мы учились понемногу - чему нибудь и как нибудь :).
Go to the top of the page
 
+Quote Post
san822
сообщение Oct 26 2005, 08:19
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Переход на Си - это общеохватывающая тендеция.
Вопрос лишь во времени - сейчас или позже.
Ассемблер используют обычно когда не хватает каких то ресурсов(памяти или быстродействия), но по мере развития микропроцессорной техники всё реже и реже встречаются ситуации когда ощущается нехватка ресурсов.

Да и поддержка (примеры программ) для некоторых МП сейчас даётся только на Си.
Go to the top of the page
 
+Quote Post
левша
сообщение Oct 26 2005, 13:44
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789



Цитата(san822 @ Oct 26 2005, 12:19)
Переход на Си - это общеохватывающая тендеция.
Вопрос лишь во времени - сейчас или позже.
Ассемблер используют обычно когда не хватает каких то ресурсов(памяти или быстродействия), но по мере развития микропроцессорной техники всё реже и реже встречаются ситуации когда ощущается нехватка ресурсов.

Да и поддержка (примеры программ)  для некоторых МП сейчас даётся только на Си.
*

Согласен во всём , но на Си все перешли ещё хрен знает скоко лет назад. Лет 5 или 10 назад гдето такsmile.gif А вообще начинать осваивать MCS с Ассемблера это по нашему. biggrin.gif
Go to the top of the page
 
+Quote Post
SSerge
сообщение Oct 26 2005, 15:35
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(nameless @ Apr 6 2005, 18:06)
Не советую AVR для начинающих. Уж куда приятнее PIC. В преподавательской практике использовал оба - PIC схватывают на лету !!!
Есть подозрение - что из-за системы команд.
*

BASIC студенты тоже на лету схватывают, однако не будем забывать классиков:“Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на BASIC: как потенциальные программисты они умственно оболванены без надежды на исцеление”.

Увы, при всех достоинствах семейств PIC16 и PIC18, по силе воздействия на неокрепшие умы они в чём-то подобны пресловутому BASIC-у.
Для "первого в жизни микроконтроллера" лучшим выбором будет всё-же семейство 8051 в силу большой распространённоси, "почтенного" возраста и доступности литературы. А вторым можно и PIC, уже не страшно.

Замечено (мною) что знание хотя бы в общих чертах архитектуры нескольких сильно отличающихся друг от друга ЭВМ даёт устойчивый иммунитет против PIC-оманства и AVR-ства.

Казалось бы, ну что толку от знания архитектуры Cray-1 с его векторными регистрами в наше время? А вот - помогает.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
_artem_
сообщение Oct 29 2005, 03:34
Сообщение #14


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Ya dumayu chto vse taki AVR. Ne potomu chto ya sam ego ispolzuju :
On bistree i bolse po vozmoznostyam. Dopustim ya s ucosom eksperimentiruyu - 128 kb flash i 64 kbayta RAMa mne ponadobilis dlja 6 zadac. A s PICom eto delo ne proslo by. U MSP svoi ogranicheniya na RAM.
V poslednem kataloge digikey samiy deseviy avr byl po 38 centov . atmega 128 prodaetsya po 6 dollarov ili chtoto vrode togo .

Dlya interesa sravnite takze benchmarking dlja etix mikro .

No esli dannie preimusestva ne trebuyutya, to vse delo vo vkuse .)


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
ESL
сообщение Aug 1 2006, 06:29
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 19-07-06
Из: Москва
Пользователь №: 18 932



Я осваивать МК начал, прошу не смеяться! с 1878ве1 (вроде и давно это было - в начале 11го класса, а вроде и недавно, всего каких-то два года прошло), в принципе, сейчас, попробовав на зуб smile.gif ПИКи, АВРы, МСП430, для себя сделал вывод, что АВР и МСП430 всё-таки легче даются чем ПИКи. (По крайней мере мне).

ЗЫ. А может это из-за того что мне плата отладочная на MSP430F149 перепала? Хотя вроде под АВРы - то платы не перепадало...

И ещё, в догонку: Я начал с асма.. мне это по первости помогло понять весьма своебразную тесеевскую структуру, ИМХО если сразу начинать с С, не получиться въехать в принципы адресации и т.д. Хотя я не настолько профи чтоб об этом рассуждать свысока..

Сообщение отредактировал ESL - Aug 1 2006, 06:24
Go to the top of the page
 
+Quote Post
DimG
сообщение Sep 5 2006, 03:07
Сообщение #16


Участник
*

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777



Цитата(Kofey Nik @ Aug 22 2005, 01:35) *
ПРостите, а где можно надыбать компилятор с Си для MCS-51? Франклин не советуют, избыточный код мол генерирует, советуют Кейл, а даже дем версии на сайте Кейла я не нашел. Есть кряканый, но на китайском языке тот сайт.
И вообще, насколько рационально переходить на Си?

Работая на Си, практически не зависишь от структуры контроллера. Посмотрел регистры специальных функций и достаточно. Остальное - дело компилятора. Если очень заботит скорость, то прежде чем переходить на ассемблер, лучше глянуть в библиотечные функции. Там обычно есть функции, реализующие особенности контроллера для более быстрого выполнения. Да и структура программы получается гораздо более логичной (для начинающих) при отсутствии оператора goto.
Отсюда вывод - переходить стоит!
Go to the top of the page
 
+Quote Post
Serj78
сообщение Sep 12 2006, 21:16
Сообщение #17


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Пик и авр- это как ислам с христанством- каждый доказывает то, во что верит...

хотя сам начал с авр, изучал пики, 51 и 430 немного, но авр остается первым и любимым smile.gif

на си - однозначно переходить стоит- если это не тини12 конечно же...
Go to the top of the page
 
+Quote Post
koziy_mf
сообщение Jan 7 2007, 02:43
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 434
Регистрация: 20-10-04
Пользователь №: 921



To SSerge:
Ya nachinal s BASIC programmirovat'...eshe v shkole...Tak chto ya - umstvenno otstaliy ??? Nu ne bilo na UKNCshkah i Poiskah togda drugih kompiliatorov... ABIDNO smile.gif


--------------------
Жизнь не такая долгая, чтобы писать программы на ассемблере...
Go to the top of the page
 
+Quote Post
exSSerge
сообщение Jan 7 2007, 15:20
Сообщение #19


Частый гость
**

Группа: Новичок
Сообщений: 136
Регистрация: 18-08-06
Из: Novosibirsk
Пользователь №: 19 655



Цитата(koziy_mf @ Jan 7 2007, 05:43) *
To SSerge:
Ya nachinal s BASIC programmirovat'...eshe v shkole...Tak chto ya - umstvenno otstaliy ??? Nu ne bilo na UKNCshkah i Poiskah togda drugih kompiliatorov... ABIDNO smile.gif

Ну почему сразу отсталый? Всего лишь оболваненный smile.gif, как и я кстати, если дословно понимать Дейкстру, это из него цитата в том сообщении. Герр проффессор просто немного сгустил краски, вот у него и получилась такая загогулина - гипербола, т.е. художественное преувеличение.

Что же до компиляторов - то их было просто вагон. На PDP под RT-11 были Фортран-4 и Фортран-77, целых два Паскаля, и два С (DECUS-овский и на основе pcc), и даже Кобол был. Вот только дисковых накопителей у УКНЦ не было.
А с SCSI-винчестером да с электронным диском, да ещё со скоростным сетевым интерфейсом - вполне можно было работать.
Go to the top of the page
 
+Quote Post
Alich
сообщение Apr 2 2007, 12:46
Сообщение #20


Частый гость
**

Группа: Свой
Сообщений: 106
Регистрация: 27-01-06
Из: г. Ярославль
Пользователь №: 13 686



Цитата(Alexandr @ Mar 25 2005, 09:52) *
Объясню: у PIC-ов слишком оригинальная архитектура, неудачная регистровая система, банки памяти - все это ИМХО конечно.


честно говоря, мне то же нравится пиковская архитектура. Хотя может просто потому, что начинал с 51. Вернее даже с 31. Но регигтровая система неудачная - первый раз слышу. Банки памяти - потому что память такая. У АВР она то же есть, но всего 32 регистра вроде. Или около того.

Если смотреть 18 серию, там уже попроще с банками. Страниц нет вообще. Кроме того, ечть 24 и dsПики.

Сам я начинал с асма. Потому что 10 лет назад не знал о компиляторах. Инета не было, а были 2 книги - одна по однокристалкам 51, второй толмут от микрочипа. Потом перешел на Си. Первое время делал асм вставки. Потом меньше и меньше. Считаю - что переход нужен.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Apr 2 2007, 14:16
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Попахивает очередной священной войной.
Работайте, пофиг на чём. Можно работать на любых uC. Требования к интрегированным
интерфейсным модулям первичны, и энергопотребление - для критичных к этому параметру задач.
При прочих равных применяется то, с чем больше опыта.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
ptolemy
сообщение Mar 27 2008, 10:00
Сообщение #22





Группа: Участник
Сообщений: 10
Регистрация: 25-05-07
Из: SPb
Пользователь №: 27 954



Преподаю программирование для микроконтроллеров уже много лет. Пробовали PIC, Fujitsu, MCS51, ARM. Лучше всего для новичков прижился MCS-51. Литературы и методических материалов - море. Для "продвинутых парней" - ARM7. Язык программирования - немного ассемблера для MCS51, для затравки, дальше C. Для ARM7 - только C.


--------------------
Go to the top of the page
 
+Quote Post
john74
сообщение Apr 17 2008, 07:11
Сообщение #23





Группа: Новичок
Сообщений: 1
Регистрация: 17-04-08
Пользователь №: 36 816



Цитата(ptolemy @ Mar 27 2008, 13:00) *
Преподаю программирование для микроконтроллеров уже много лет


А где преподаете? Что посоветуете совсем начинающим (речь о радиокружке), есть какие-то очень доступные обучалки? Проблема вот в чем, если с обычной логикой все обычно схватывается на лету, то вот когда речь заходит о микроконтроллерах, то проблема начинается практически сразу на этапе объяснения архитектуры. Помнится в институте у нас были "чемоданы" на которых изучался асм, нет ли чего-нибудь подобного для AVR (PIC)


--------------------
Go to the top of the page
 
+Quote Post
rimpocha
сообщение Apr 17 2008, 13:53
Сообщение #24


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 6-03-07
Из: Новосибирск, Seattle
Пользователь №: 25 935



Цитата(Kofey Nik @ Aug 22 2005, 01:35) *
Есть кряканый, но на китайском языке тот сайт.


Я знаю китайский. Давайте ссылку. ^_^


--------------------
НГТУ, Физико-технический факультет, кафедра Лазерных систем
Go to the top of the page
 
+Quote Post
vladi1147
сообщение Apr 22 2008, 16:13
Сообщение #25





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993



Цитата(john74 @ Apr 17 2008, 11:11) *
...Что посоветуете совсем начинающим (речь о радиокружке)...


Добрый день!

Если позволите, я хотел бы выяснить у Вас в части радиокружка - а какие интересы у радиокружковцев? Я часто советую начинать освоение микроконтроллеров с помощью программ вида FlowCode. Но у меня нет ни опыта преподавания, ни навыков ведения кружков и т.д. То есть я могу ориентироваться только на мнение других.

Если Вас не затруднит, был бы признателен за совет практика.
Go to the top of the page
 
+Quote Post
Guest_opolo8_*
сообщение Apr 26 2008, 19:59
Сообщение #26





Guests






Хотелось бы освоить программирование контроллеров AVR на языке C++, может кто - нибудь знает какую - нибудь литературу по этой теме? Столкнулся с тем что все примеры для C, и книги которые есть посвящены программированию на C. Хотелось бы узнать как компилятор C, распологает программу в памяти контроллера. Заранее благодарю за ответы( если будут).
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Apr 27 2008, 07:04
Сообщение #27


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



будут...
читай ШПАК Ю.А. Программирование микроконтрллеров AVR и PIC на языке С.
Евстифеев Микроконтроллеры AVR семейства tINY и mEGA...(ну или чета такое в этом роде) книга есть 2004 года и 2007 года
программа CodevisionAVR компилятор и загрузчик (чета загрузчик у меня плохо работает загружаю PonyProg)
программа VMLAB - симулятор простецкий типа просто отладчик кода
программа Proteus - крутой симулятор но AVR тама мало ждемс версию 7.3
а вообще отладчиками пользоваться имхо на них не надо надеяться - в них много глюков и недочетов...

Компилятор не располагает саму программу в контроллер есть программы загрузчики PonyProg или компилятор-загрузчик CodevisionAVR...

программа AVRStudio отладчик компилятор загрузчик - вроде не наврал...

нужно сделать тестовую плату например есть например тупо повесить на порт светодиодики (для начала) потом с микросхемами тестовую - знаю ссылку могу сказать


--------------------
Go to the top of the page
 
+Quote Post
Guest_opolo8_*
сообщение Apr 28 2008, 05:31
Сообщение #28





Guests






Спасибо за рекомендацию. Для отладки есть плата STK500, так что с этим проблем нет. Ю.А.Шпака просмотрел, надо будет все таки подробно почитать. Но там примеры все на C, в этом и проблема, знаю C++ и не очень хочется разбираться с особенностями C, но похоже что придется. А про память я немного другое имел ввиду, как программа располагается в пространстве памяти? Раньше программировал на ассемблере контроллеры с архитектурой MCS-51, так там все просто так как полностью сам управляешь расположением всей программы в пространстве памяти, а вот в C что то не совсем ясно.
Go to the top of the page
 
+Quote Post
dxp
сообщение Apr 28 2008, 07:55
Сообщение #29


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(opolo8 @ Apr 28 2008, 12:31) *
Спасибо за рекомендацию. Для отладки есть плата STK500, так что с этим проблем нет. Ю.А.Шпака просмотрел, надо будет все таки подробно почитать. Но там примеры все на C, в этом и проблема, знаю C++ и не очень хочется разбираться с особенностями C, но похоже что придется.

Если знаете С++, значит, знаете и С, т.к. С является подмножеством С++. Особенностей С, в которых он не совпадает с С++, очень немного - на одной руке пальцев хватит пересчитать. Еще надо обратить внимание на то, какие возможности языка поддерживаются - они, как правило, не все поддерживаются (и это часто оправдано). Например, врядли найдете 8/16-разрядный процессор, компилятор которого поддерживал бы исключения. Но в остальном все вполне пристойно - классы, наследование, полиморфизм, шаблоны, все это на сегодняшний день уже есть.

Цитата(opolo8 @ Apr 28 2008, 12:31) *
А про память я немного другое имел ввиду, как программа располагается в пространстве памяти? Раньше программировал на ассемблере контроллеры с архитектурой MCS-51, так там все просто так как полностью сам управляешь расположением всей программы в пространстве памяти, а вот в C что то не совсем ясно.

Все как обычно. И тоже все управляемо. В библиотеке есть функция startup (ее названия у всех платформ свои, но суть одна), которая выполняет инициализацию регистров процессора (указатель стека и др.), а также статическую и динамическую инициализацию, после чего передает управление функции main путем вызова ее. Эта функция (startup) размещается в памяти программ всегда, и ей передается управление при сбросе процессора - т.е. когда процессор стартует с начального адреса (у разных платформ этот адрес тоже свой в силу аппаратных особенностей). Конкретные детали реализации этого - как что размещается и т.д. - надо смотреть документацию на используемую платформу. Как правило данные и код мапятся на именованные сегменты памяти, а сами сегменты размещаются в памяти в соответствии с директивами линкеру, задаваемыми в линкерном скрипте. Обычно пакет поставляется уже в таком виде, что там все как-то настроено по умолчанию, и уже можно начать сразу что-то писать. При желании можно разобраться, что к чему, и "перезаточить" под свои нужды/вкусы.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Guest_opolo8_*
сообщение Apr 28 2008, 08:27
Сообщение #30





Guests






Болшое спасибо за исчерпывающий ответ. Осталось только разобраться какие классы и функции существуют для работы с контроллерами AVR.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 28 2008, 09:33
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(opolo8 @ Apr 28 2008, 10:27) *
Осталось только разобраться какие классы и функции существуют для работы с контроллерами AVR.

Осталось понять, что весь Ваш опыт "программирования" приложений под Windows (угадал sad.gif полагаю) не стоит и выеденного яйца. Здесь нет Windows API, MFC, драйверов от производителя периферийного железа, халявных DLL и прочего прочего прочего...


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Guest_opolo8_*
сообщение Apr 28 2008, 12:08
Сообщение #32





Guests






Вообще я не программист и тема форума Микроконтроллеры для начинающих, незнаю откуда у начинающих может быть опыт. Я только учусь программировать контроллеры на С++, по этому и задаю тут вопросы. 07.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 28 2008, 13:23
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(opolo8 @ Apr 28 2008, 14:08) *
..по этому и задаю тут вопросы. 07.gif

Продолжайте задавать здесь - с местом расположения темы никаих проблем нет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 28 2008, 15:41
Сообщение #34


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(opolo8 @ Apr 28 2008, 11:27) *
какие классы и функции существуют для работы с контроллерами AVR.
Классов, специально заточенных для AVR нет. Есть некоторое подмножество стандартной библиотеки (в разных компиляторах разное), но весьма сомнительно, что вам она понадобится - памяти у этих контроллеров маловато.
Специальные (intrinsic) функции есть в некоторых компиляторах для выполнения некоторых специфичных действий, как, например, разрешение прерываний. В других компиляторах такие действия могут выполняться вставками на инлайн-ассемблере. Это описано в документации на компилятор.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 28 2008, 16:12
Сообщение #35


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(SSerge @ Oct 26 2005, 18:35) *
BASIC студенты тоже на лету схватывают, однако не будем забывать классиков:“Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на BASIC: как потенциальные программисты они умственно оболванены без надежды на исцеление”.

Не, я всё-таки начинаю исцеляться, спустя 15 лет.
Даже пару классов на с++ нарисовал.

А вцелом согласен - бейсик - для домохозяек (хоть даже и вижуал)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
ZLOI
сообщение Apr 29 2008, 08:50
Сообщение #36


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(MrYuran @ Apr 29 2008, 01:12) *
Не, я всё-таки начинаю исцеляться, спустя 15 лет.
Даже пару классов на с++ нарисовал.

А вцелом согласен - бейсик - для домохозяек (хоть даже и вижуал)

А я наоборот получается деградирую :D.
в 11 классе писал на VBA и VB 6.0
на 1 курсе Borland Pascal и Delphi 6.0
на 2 курсе Pascal+ASM и TASM
на 3 курсе MASM и MPASM
на 4 курсе С и С++
, а потом Java, PHP и последний мой проект, за который мне заплатили, больше чем за все предыдущие на
VBA smile.gif

На самом деле в автокаде иногда не обойтись без VBA. Хотя есть люди, которые считают, что в автокаде надо на LISPе. smile.gif (Кстати, некоторые вещи лучше на нём)

Начинать изучать (ради изучать) лучшего с чего-то универсального и перспективного.
Думаю, что 16 семейство уже отжило свой век, их существование это консервативизм некоторых, хотя я когда-то начал именно с них.
Расскажу забавный случай, про консервативизм.
Есть в Новосибирске контора одна они делают свои контроллеры для АСУ ТП на мотороловских камнях, помоему с ядром MC68000.
Из характеристик этого проца можно взять 8 MIPS, 1 Ethernet, CAN. Ну да и ещё 4000 рублей стоимость smile.gif Забавно, что тот же AT32AP7000 имеет 210 DMIPS, 2 ethernetа, USB 2.0 Hi-Speed, да и вообще кучу всего и стоит 350 рублей. Мне посмеялись в лицо когда я спросил почему им не поменять мозги их контроллеров. Подумаешь производительность в >26 раз выше и экономия >3500 , у заказчика деньги есть, на кой чёрт менять.

Под задачу всё должно выбираться. Лучше начинать решать задачи какие-то, а под них уже железо выбирать.

Извиняюсь за сумбурность, тороплюсь.
Go to the top of the page
 
+Quote Post
Old_Jedi
сообщение Apr 29 2008, 15:41
Сообщение #37





Группа: Новичок
Сообщений: 6
Регистрация: 29-04-08
Из: Орел
Пользователь №: 37 151



Я новичок в работе с микроконтроллерами и мне нужна помощь по выбору контролера для устройства обработки информации в датчике.

Я студент и делаю диплом, датчик отклонения от вертикали. Задача контроллера достаточно проста - на выходе датчика имееться сигнал, каждое его значение соответствует углу отклонения, нужно что бы котролер выводил на индикатор значения этого угла отклонения в соответствии входному сигналу.

В нашем университете изучают только дремучий микропроцессорный комплект КР580, а мне не хотелось бы в дипломе использовать такое старьё, к томуже прейдеться использовать кучу микросхем для реализации задачи.

Диапазон измерения 0-12градусов с чувствительностью примерно 3минуты, разрядности АЦП будет достаточно и 8, сигнал не превышает 10В.

Подскажите что я мог бы использовать. Заранее благодарен.


--------------------
Может это и бонально, но - "Да прибудет с вами сила"
Go to the top of the page
 
+Quote Post
SIA
сообщение Apr 29 2008, 17:03
Сообщение #38


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(Old_Jedi @ Apr 29 2008, 18:41) *
Подскажите что я мог бы использовать. Заранее благодарен.


Почти любой микроконтроллер с АЦП на борту. Из х51 - Silabs С8051F410, из AVR - например, Mega 128. У обоих АЦП 12 бит.
Для этой задачи они даже избыточны, но для изучения - вполне.
Контроллеры на ARM (например, LPC23xx) недороги, еще мощнее, но сложнее и без возможности оперативно обратиться к уже освоившим их, в одиночку потянуть их трудно.
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
ZLOI
сообщение Apr 29 2008, 23:49
Сообщение #39


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(Old_Jedi @ Apr 30 2008, 00:41) *
Я студент и делаю диплом, датчик отклонения от вертикали. Задача контроллера достаточно проста - на выходе датчика имееться сигнал, каждое его значение соответствует углу отклонения, нужно что бы котролер выводил на индикатор значения этого угла отклонения в соответствии входному сигналу.

В процессе можете ещё прикрутить RS-232 и SD/MMC карту памяти, поверьте это не сложно.
Цитата(Old_Jedi @ Apr 30 2008, 00:41) *
В нашем университете изучают только дремучий микропроцессорный комплект КР580, а мне не хотелось бы в дипломе использовать такое старьё, к томуже прейдеться использовать кучу микросхем для реализации задачи.

Сочувствую... Правда у нас они уже сломались smile.gif
Цитата(Old_Jedi @ Apr 30 2008, 00:41) *
Диапазон измерения 0-12градусов с чувствительностью примерно 3минуты, разрядности АЦП будет достаточно и 8, сигнал не превышает 10В.

Если сигнал 10В, то на АЦП его на прямую нельзя. Советую поделить. А после делителя поставить ОУ.
Собственно схема:
Прикрепленное изображение

Здесь сигнал от 0 до 10В. Если Вам нужен биполярный сигнал, то схему прийдётся переделывать.
На выходе сигнал от 0 до 5В, следовательно опорное напряжение у АЦП также должно быть 5В. Если опорное хотите использовать другое, то схему прийдётся переделывать.

Если не секрет в какой САПР будете проектировать печатную плату ?

Цитата(Old_Jedi @ Apr 30 2008, 00:41) *
Подскажите что я мог бы использовать. Заранее благодарен.


ATtiny2313 можно, цена должна понравится. Можно ATmega88. Программаторы есть в нете. Среда программирования IAR или AVR Studio, там же.
Go to the top of the page
 
+Quote Post
Old_Jedi
сообщение Apr 30 2008, 07:31
Сообщение #40





Группа: Новичок
Сообщений: 6
Регистрация: 29-04-08
Из: Орел
Пользователь №: 37 151



Цитата(ZLOI @ Apr 30 2008, 03:49) *
Если сигнал 10В, то на АЦП его на прямую нельзя. Советую поделить. А после делителя поставить ОУ.

Если не секрет в какой САПР будете проектировать печатную плату ?


Спасибо за подсказки. По поводу сигнала в 10В это не проблема, он там специально усиливался для определенного АЦП, можно просто убрать усилитель, что еще упростит мою задачу.

А плату проектировать в P-CAD'е буду, только проблема в том, что нам его практически не преподавали crying.gif Не знаю как там это делать, прейдеться помощь искать. Так что если заинтересован кто пишите в аську smile.gif Награда гарантируется.


--------------------
Может это и бонально, но - "Да прибудет с вами сила"
Go to the top of the page
 
+Quote Post
ZLOI
сообщение Apr 30 2008, 09:06
Сообщение #41


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(Old_Jedi @ Apr 30 2008, 16:31) *
А плату проектировать в P-CAD'е буду, только проблема в том, что нам его практически не преподавали crying.gif

Советую скачать eagle layout с казуса. Очень простецкая САПР и весит не много(<20 Мб).
Я пользуюсь protel DXP (165 Мб). По мне, так в тысячу раз приятнее и удобнее пикада.
Здесь на электрониксе есть форумы посвещённые САПР, можете спрашивать, что не понятно.

По поводу награды, наверное Вам уже просто поздно делать диплом, так?
Если нет, то лучше самому, любой вид интеллектуальной деятельности, в том числе разработка ПП - развивает мышление и может пригодится для других отраслей. Не однократно в этом убеждался.

Успехов.
Go to the top of the page
 
+Quote Post
Old_Jedi
сообщение Apr 30 2008, 14:25
Сообщение #42





Группа: Новичок
Сообщений: 6
Регистрация: 29-04-08
Из: Орел
Пользователь №: 37 151



Цитата(ZLOI @ Apr 30 2008, 13:06) *
По поводу награды, наверное Вам уже просто поздно делать диплом, так?


да вы правы smile.gif Я из тех кто делает сам но всегда невовремя. а когда начинаю неуспевать то прошу отдельные задачки помоч кого нибуть. Но к сожалению вся наша группа необучена как и я такого рода работе, поэтому прейдеся тут искать помощи smile.gif


--------------------
Может это и бонально, но - "Да прибудет с вами сила"
Go to the top of the page
 
+Quote Post
ZLOI
сообщение Apr 30 2008, 15:51
Сообщение #43


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(Old_Jedi @ Apr 30 2008, 23:25) *
да вы правы smile.gif Я из тех кто делает сам но всегда невовремя. а когда начинаю неуспевать то прошу отдельные задачки помоч кого нибуть. Но к сожалению вся наша группа необучена как и я такого рода работе, поэтому прейдеся тут искать помощи smile.gif

Скачайте игл и проблем не будет, может там не большой функционал, но разобраться 5 минут хватит.
Или проблема в самой разработке? Если так, то тут сразу нанимать и не ждать никого. Если в схемотехнике понимаете, то совет выше.

З.Ы.
Я сам ЭВМщик и у нас тоже все на САПР повесились... Ох и заработал я тогда, правда повторно желания нет на дискретах чего-то лепить.
Go to the top of the page
 
+Quote Post
Artem_Gusev
сообщение Apr 30 2008, 16:19
Сообщение #44





Группа: Новичок
Сообщений: 5
Регистрация: 30-04-08
Пользователь №: 37 190



Здравствуйте всем, Всем заранее благодарен smile.gif
Такой вопрос :

Задача: сделать 8 канальный АЦП..
Инструменты: PIC18F4550 на демоплате DM163025 PICDEM FS USBDemo board используя готовый проект реализации устройства USB используя библиотеку CDC..
....
о не могу понять как это все реализовать для 8ми портов и передать на комп..все что не пробовал получаеться какой то бре...если возможно помогите мне ...Как инициализировать правильно порты как будет выглядеть сам код считывания с АЦП..еще я не шарю в таймингах розличных какими они должны быть.....ВСЕ большое спасибо!!!

Moderator:
Обширные неформаторованные исходники из тела сообщения удалил. При необходимости следует воспользоваться приложением ввиде архива. Небольшие исходники - форматироваить.
Go to the top of the page
 
+Quote Post
ZLOI
сообщение May 2 2008, 17:43
Сообщение #45


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(Artem_Gusev @ May 1 2008, 01:19) *
Здравствуйте всем, Всем заранее благодарен smile.gif
Такой вопрос :
Задача: сделать 8 канальный АЦП..
Инструменты: PIC18F4550 на демоплате DM163025 PICDEM FS USBDemo board используя готовый проект реализации устройства USB используя библиотеку CDC..

Но не могу понять как это все реализовать для 8ми портов и передать на комп..все что не пробовал получаеться какой то бре...если возможно помогите мне ...Как инициализировать правильно порты как будет выглядеть сам код считывания с АЦП..еще я не шарю в таймингах розличных какими они должны быть.....ВСЕ большое спасибо!!!

Может ДШ почитать? Там вроде со страницы 261 неплохо про это расписано. Да и апликух пруд пруди.
Go to the top of the page
 
+Quote Post
Artem_Gusev
сообщение May 3 2008, 11:05
Сообщение #46





Группа: Новичок
Сообщений: 5
Регистрация: 30-04-08
Пользователь №: 37 190



Цитата(ZLOI @ May 2 2008, 20:43) *
Может ДШ почитать? Там вроде со страницы 261 неплохо про это расписано. Да и апликух пруд пруди.




ТЫ прав расписано там все прелесть, в теории, тока я в програмухе не сильно спец, потому и не получаться..порядок действий , ну вроде блок схему я себе то вырисовал, тока запрограммировать не получаться, поэтому и обратился за помошью...
Потому буду очень признательный за кусочек рабочего кода к этому МК а точнее PIC18F4550...

Сообщение отредактировал Artem_Gusev - May 3 2008, 11:10
Go to the top of the page
 
+Quote Post
ZLOI
сообщение May 3 2008, 14:56
Сообщение #47


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(Artem_Gusev @ May 3 2008, 20:05) *
ТЫ прав расписано там все прелесть, в теории, тока я в програмухе не сильно спец, потому и не получаться..порядок действий , ну вроде блок схему я себе то вырисовал, тока запрограммировать не получаться, поэтому и обратился за помошью...
Потому буду очень признательный за кусочек рабочего кода к этому МК а точнее PIC18F4550...

Я же и говорю, что у микрочипа есть Application notes, типа 6 канальных вольтметров с выводом на светодиодное табло, там и исходники и схема и даже проги для ПК, посмотри хорошо и вырежь чего надо.
Go to the top of the page
 
+Quote Post
Old_Jedi
сообщение May 6 2008, 17:35
Сообщение #48





Группа: Новичок
Сообщений: 6
Регистрация: 29-04-08
Из: Орел
Пользователь №: 37 151



Подскажите какие нибуть ресурсы руские по AVR Mega 128 контроллерам. Мне надо срочно разобраться как его подключить к моей схеме (суть задачи смотрите выше на стр3).
Мне нужно подать свой измерительный сигнал до 2В примерно уровня на АЦП контроллера, и подключить к контроллеру какой либо индикатор который показывал бы от 0 до 10 градусов угол с точностью до минуты.
Суть проблему в том что все материалы что я смотрел по контроллеру очень подробные, что усложняет их понимание. У котроллера множество выводов, я не знаю как его изобразить на электронной схеме, что бы и лишнего не было но и все для его работы было изображено.

Еще совсем смешной вопрос - какие габариты у контролера Mega 128? что то я ни где не видел в описании.


--------------------
Может это и бонально, но - "Да прибудет с вами сила"
Go to the top of the page
 
+Quote Post
rezident
сообщение May 6 2008, 18:17
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Old_Jedi @ May 6 2008, 23:35) *
Подскажите какие нибуть ресурсы руские по AVR Mega 128 контроллерам. Мне надо срочно разобраться как его подключить к моей схеме (суть задачи смотрите выше на стр3).
Например
http://www.atmel.ru/
http://www.gaw.ru/avr.htm
Цитата(Old_Jedi @ May 6 2008, 23:35) *
Мне нужно подать свой измерительный сигнал до 2В примерно уровня на АЦП контроллера, и подключить к контроллеру какой либо индикатор который показывал бы от 0 до 10 градусов угол с точностью до минуты.
Для понимания и осоознания разбейте вашу задачу на несколько конечных автоматов/этапов, которые реализуются отдельно.
- Измерение физической величины с помощью АЦП.
- Преобразование полученного от АЦП кода в эквивалент измеряемой физической величины, например, в напряжение. Можно конечно этот этап пропустить, но тогда сложнее будет проконтролировать правильно ли ваш МК измеряет физическую величину.
- Преобразование напряжения в отображаемые единицы - градусы.
- Преобразование бинарного представления числа (градусов) в символьную строку.
- Вывод символьной строки на индикатор.
Цитата(Old_Jedi @ May 6 2008, 23:35) *
Еще совсем смешной вопрос - какие габариты у контролера Mega 128? что то я ни где не видел в описании.
Чертежы корпуса обычно приводятся в конце даташита. Но следует помнить, что одни и те же МК могут выпускаться в разных корпусах. Тип корпуса закодирован в полной маркировке микроконтроллера.
Go to the top of the page
 
+Quote Post
Old_Jedi
сообщение May 7 2008, 08:08
Сообщение #50





Группа: Новичок
Сообщений: 6
Регистрация: 29-04-08
Из: Орел
Пользователь №: 37 151



Цитата(rezident @ May 6 2008, 22:17) *
Для понимания и осоознания разбейте вашу задачу на несколько конечных автоматов/этапов, которые реализуются отдельно.
- Измерение физической величины с помощью АЦП.
- Преобразование полученного от АЦП кода в эквивалент измеряемой физической величины, например, в напряжение. Можно конечно этот этап пропустить, но тогда сложнее будет проконтролировать правильно ли ваш МК измеряет физическую величину.
- Преобразование напряжения в отображаемые единицы - градусы.
- Преобразование бинарного представления числа (градусов) в символьную строку.
- Вывод символьной строки на индикатор.


измерять величену мою не надо. Смысл примерно такой: есть теоретическая функция преобразования преобразователя, она нелинейна, поэтому ее как бы разбиваем, что бы получить таблицу где определенной величене угла соответствовал определенный уровень выходного сигнала. Эту таблицу забиваем в память контроллера. Сигнал будет оцифровываться с помощью ацп контроллера и этот код например может служить адресом ячейки памяти, где уже храниться величена угла соответственная входному сигналу, останеться ее только вывести на индикатор. Я представляю как это все сделать на древнем МП который мы изучали smile.gif. но суровая реальность требует современных технологий, поэтому нужно как то воплотить это на совершенно незнакомом котроллере. Вот поэтому я сдесь smile.gif

Сообщение отредактировал Old_Jedi - May 7 2008, 08:09


--------------------
Может это и бонально, но - "Да прибудет с вами сила"
Go to the top of the page
 
+Quote Post
ZLOI
сообщение May 7 2008, 08:38
Сообщение #51


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 7-03-07
Из: Славный город Шелехов
Пользователь №: 25 967



Цитата(Old_Jedi @ May 7 2008, 17:08) *
измерять величену мою не надо. Смысл примерно такой: есть теоретическая функция преобразования преобразователя, она нелинейна, поэтому ее как бы разбиваем, что бы получить таблицу где определенной величене угла соответствовал определенный уровень выходного сигнала. Эту таблицу забиваем в память контроллера. Сигнал будет оцифровываться с помощью ацп контроллера и этот код например может служить адресом ячейки памяти, где уже храниться величена угла соответственная входному сигналу, останеться ее только вывести на индикатор. Я представляю как это все сделать на древнем МП который мы изучали smile.gif. но суровая реальность требует современных технологий, поэтому нужно как то воплотить это на совершенно незнакомом котроллере. Вот поэтому я сдесь smile.gif

Вот здесь посмотрите, там и прошива и схема:
http://people.overclockers.ru/NAPman/record14

А можно и так:
http://www.google.ru/search?source=ig&...oogle&meta=
Go to the top of the page
 
+Quote Post
Chado
сообщение May 7 2008, 13:07
Сообщение #52





Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351



Nu надо же вопросики для начинающих 07.gif
У меня вопрос начинающего.
Пытаюсь поторить чужое рукотворное изделие, и даже спаял.
Не могу прожечь PIC. Программатор ExstraPic ни мур-мур sad.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение May 7 2008, 16:18
Сообщение #53


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Old_Jedi @ May 7 2008, 14:08) *
измерять величену мою не надо.
Не понял. Почему это не нужно? Насколько я понял у вас имеется первичный пробразователь, который угол отклонения преобразует в электрический сигнал. Этот сигнал аналоговый или уже цифровой?
Цитата(Old_Jedi @ May 7 2008, 14:08) *
Смысл примерно такой: есть теоретическая функция преобразования преобразователя, она нелинейна, поэтому ее как бы разбиваем, что бы получить таблицу где определенной величене угла соответствовал определенный уровень выходного сигнала. Эту таблицу забиваем в память контроллера. Сигнал будет оцифровываться с помощью ацп контроллера и этот код например может служить адресом ячейки памяти, где уже храниться величена угла соответственная входному сигналу, останеться ее только вывести на индикатор.
А тут про оцифровку сигнала с помощью АЦП речь идет. Ну и как понимать вашу фразу выше, о том, что сигнал оцифровывать не нужно? Кстати, а какой разрядности АЦП вы применять хотите? 10-и, 12-и, 16-и, 24-х? А теперь прикиньте-ка размер этой таблички для преобразования: например, для 24-х битного АЦП 2^24 состояний * 4 байта = 64 МегаБайта табличка получается однако! biggrin.gif Так что в аналитической форме-то формула преобразования гора-а-аздо меньше места займет. wink.gif Также при необходимости применяют таблицы аппроксимации (например, кусочно-линейной), которые опять же гораздо меньше предложенного вами способа преобразования занимают места в памяти.
Цитата(Old_Jedi @ May 7 2008, 14:08) *
Я представляю как это все сделать на древнем МП который мы изучали smile.gif. но суровая реальность требует современных технологий, поэтому нужно как то воплотить это на совершенно незнакомом котроллере. Вот поэтому я сдесь smile.gif
Тогда начинать нужно с изучения самого МК.
Go to the top of the page
 
+Quote Post
Old_Jedi
сообщение May 8 2008, 10:15
Сообщение #54





Группа: Новичок
Сообщений: 6
Регистрация: 29-04-08
Из: Орел
Пользователь №: 37 151



Цитата(rezident @ May 7 2008, 20:18) *
Не понял. Почему это не нужно? Насколько я понял у вас имеется первичный пробразователь, который угол отклонения преобразует в электрический сигнал. Этот сигнал аналоговый или уже цифровой?
А тут про оцифровку сигнала с помощью АЦП речь идет. Ну и как понимать вашу фразу выше, о том, что сигнал оцифровывать не нужно? Кстати, а какой разрядности АЦП вы применять хотите? 10-и, 12-и, 16-и, 24-х? А теперь прикиньте-ка размер этой таблички для преобразования: например, для 24-х битного АЦП 2^24 состояний * 4 байта = 64 МегаБайта табличка получается однако! biggrin.gif Так что в аналитической форме-то формула преобразования гора-а-аздо меньше места займет. wink.gif Также при необходимости применяют таблицы аппроксимации (например, кусочно-линейной), которые опять же гораздо меньше предложенного вами способа преобразования занимают места в памяти.
Тогда начинать нужно с изучения самого МК.

Меня понять сложно, я же совсем не прошареный в научных делах smile.gif Говоря что величену не нужно измерять это я имел ввиду, что контролер сам не вычисляет эту величену. Да сигнал надо оцифрововать, и не помню что я говорил обратное. Я вроде конкретно ставил задачу, что ацп использую базовое Меги128, оно 10разрядное, вообще не понимаю зачем 24 разряда ) Я что то не уверен что моя таблица чисел, вернее это не таблица а набор чисел, будет занимать столько места в памяти, используя вашу же формулу подсчета - памяти нужно 4кбайта, а у меги128 на барту 128 кбайт встроеная память. Зато програмно такай способ помоему не напряжен, я вообще не программист ни грамма, но думаю все будет выглядить просто.
Спасибо за ссылки и коментарии, иногда это помогает избежать критических ошибок. Но я буду надеяться на незнание нашими препадами данного микроконтроллера, что затруднит проверку правильности моих решений smile.gif

Сообщение отредактировал Old_Jedi - May 8 2008, 10:17


--------------------
Может это и бонально, но - "Да прибудет с вами сила"
Go to the top of the page
 
+Quote Post
r_dot
сообщение May 10 2008, 03:56
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 237
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 791



Цитата(Chado @ May 7 2008, 17:07) *
... Не могу прожечь PIC. Программатор ExstraPic ни мур-мур sad.gif


Какой PIC? Прожигаешь в схеме или отдельно чип?
Go to the top of the page
 
+Quote Post
Chado
сообщение May 10 2008, 05:59
Сообщение #56





Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351



Цитата(r_dot @ May 10 2008, 07:56) *
Какой PIC? Прожигаешь в схеме или отдельно чип?


Отдельно чип!
Винда грузит прогу (IcProg) и ни мур-мур. В списке процессов вижу прогу и ресурс проца на её. неделю бодаюсь с компом. Не дайте лоб расшибить! twak.gif
Go to the top of the page
 
+Quote Post
vladi1147
сообщение May 12 2008, 10:09
Сообщение #57





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993



Цитата(Chado @ May 10 2008, 09:59) *
Отдельно чип!
Винда грузит прогу (IcProg) и ни мур-мур. В списке процессов вижу прогу и ресурс проца на её. неделю бодаюсь с компом. Не дайте лоб расшибить! twak.gif


Добрый день,

я пользовался, хотя и недолго, парой ExtraPIC и программой для прошивки PIC16F628A. Проблем не встретил. Если нужно повторить, могу еще раз это попробовать, единственная проблема - Windows. Я пользуюсь Linux.
Go to the top of the page
 
+Quote Post
Chado
сообщение May 12 2008, 12:04
Сообщение #58





Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351



в томто и бодяга.
ХР со вторым паком, то она потеряет компорт, то графику на прогу, то вдруг ресурс проца под 100%.
Выкручивался следующим образом. В оборудовании выключаю сом порт.перезагружаюсь по требованию винды. Гружу прогу от имени администратора( постоянно ругается и то немогу и это). Убиваю прогу в диспетчере задач. Включаю компорт. гружу типово. Проверяю настройки проги. всё тип топ. читаю микруху- всё по нолям. НЕЧИТАЕТ. Хотя светодиодик мерцает. Что с виндой? Пробовал на другом цомпе. тест программатора не идет самый первый пункт. хотя все режимы в норме. Дата туда, а оттуда нэмааа. Икуда девается компорт? Каждый раз выключать? В ломы!
ПОМОГИТЕ!!! smile3009.gif
Go to the top of the page
 
+Quote Post
vladi1147
сообщение May 12 2008, 14:48
Сообщение #59





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993



Цитата(Chado @ May 12 2008, 16:04) *
в томто и бодяга.
ХР со вторым паком...


XP SP2. Попробую сегодня что-нибудь придумать. Как долго нужно работать с программатором, чтобы проявились проблемы?
Go to the top of the page
 
+Quote Post
Chado
сообщение May 12 2008, 15:48
Сообщение #60





Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351



Вроде не должно быть проблем Но есть ведь.Все грехи валю на виду.Чип прожег у друга за 10 секунд.
На моем программаторе. Уже впендюрил в схему ---- ПАШЕТ!
Что с виндой непонятно!
Go to the top of the page
 
+Quote Post
vladi1147
сообщение May 12 2008, 16:48
Сообщение #61





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993



Цитата(Chado @ May 12 2008, 19:48) *
...Что с виндой непонятно!


Windows XP SP2, кажется со всеми последними обновлениями. После настройки по инструкции (уже забыл, что надо настраивать) появлялись ошибки. После установки задержки до 40 (процессор 2.2ГГц), вроде бы, пропали ошибки. Раз 5-6 в режиме Прочитать-Стереть-Программировать и т.д.

Возможно, проблема не столько с Windows, сколько с быстрым процессором? Может быть задержики и в 40 не хватает?
Go to the top of the page
 
+Quote Post
Chado
сообщение May 14 2008, 09:13
Сообщение #62





Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351



smile.gif Ситуяция похожа на то, что брандмауэр гасит экранную часть проги по образу и подобию антивирусника нод32. В любом случае пога не в полном обЪёме загрузилась там где используются функции винды остается пустое место. Вызова функций АПИ просто нету. Что делать?Это гдето видимо в реестре вколочено. Хренаськи найдешь сотня мег реестр. или грохнуть всю винду и потом медленно и вернопоставить весь свой арсенал задач smile3046.gif cranky.gif
Go to the top of the page
 
+Quote Post
vladi1147
сообщение May 14 2008, 10:11
Сообщение #63





Группа: Новичок
Сообщений: 10
Регистрация: 22-04-08
Пользователь №: 36 993



Цитата(Chado @ May 14 2008, 13:13) *
... В любом случае пога не в полном обЪёме загрузилась там где используются функции винды остается пустое место. Вызова функций АПИ просто нету. Что делать?Это гдето видимо в реестре вколочено. Хренаськи найдешь сотня мег реестр. или грохнуть всю винду и потом медленно и вернопоставить весь свой арсенал задач smile3046.gif cranky.gif


Грохнуть все, это никогда не поздно. А Вы точно выполнили все рекомендации по настройке IC-PROG при первом запуске? Я забыл о настройках, попытался запустить и все было очень странно, пришлось прочитать файл pdf, который был на диске и тупо повторить все, что там касалось предварительной настройки. К сожалению, я уже псчти забыл Windows. Но, если мешает брэндмауэр, то, может быть, попробовать его отключить? Извините, если сказал глупость.

Я уже запамятовал, но мне кажется, что я пробовал использовать EXTRA-PIC в Linux с программами KTechlab и Piklab. Если это мне не приснилось, то вполне удачно. Хотя больше я использовал самодельный простейший программатор.
Go to the top of the page
 
+Quote Post
Chado
сообщение May 15 2008, 11:50
Сообщение #64





Группа: Новичок
Сообщений: 7
Регистрация: 7-05-08
Пользователь №: 37 351



Но, если мешает брэндмауэр, то, может быть, попробовать его отключить?

Отключиь брэндмауэр система не дает в сервис паках довески это ресекают сразу. Поступаю проще ВЫБРАСЫВАЮ IcProg к какойто маме. И шпандорим на проге Winpic800 она умеет распознавать чип. Шью пики 84, 628, 628А, 716, 874. Время на прошиву затрачивает чуть больше 10 сек. Одной рутинной работой меньше. так что тема бум говорить снята. Нехочет винда Icprog - и я не сильно то хотел. wink.gif 08.gif
Go to the top of the page
 
+Quote Post
Obama
сообщение May 16 2008, 07:38
Сообщение #65


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 14-04-08
Из: Москва
Пользователь №: 36 755



Вот красивый проект для начинающих от новичка - LCD графический MT12864 - 128x64 точки. исходники для CVAVR и симуляция в PROTEUS - Прекрасно компилируется и симулируется. Можно симулировать в PROTEUS без компиляции - все файлы в архиве есть.
Прикрепленные файлы
Прикрепленный файл  LCD_MT1264.rar ( 49.5 килобайт ) Кол-во скачиваний: 219
 
Go to the top of the page
 
+Quote Post
sKWO
сообщение May 25 2008, 16:18
Сообщение #66


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



что такое BCD и для чего оно нужно

BCD - Binary Coded Decimal -- это десятичное кодированное двоичным
Binay Coded Decimal- это кодирование которое упрощает хранение,доступ к ним и конвертацию данных для вывода к примеру на ЖКИ.
В результате конвертации мы в байте (8-bit) будем иметь два нибла (4-bit) каждый из которых будет содержать число
в размере от 0 до 16.Таким образом это позволяет нам хранить в каждом нибле десятичное число от 0 до 9 и два в одном
байте, тоесть в оном байте два десятичных числа.
Пример конвертации десятичного числа переменной mybyte если её значение находится в пределах от 0 до 99:
Код
char mybyte = 78;

Объявим переменную для значения старшего нибла.
Код
char upper_nibble = 0;
//Подсчитаем колличество десятков в переменной mybyte.
while (mybyte >= 10)
{
upper_nibble++;
mybyte -= 10;
}

После таких преобразований в переменной mybyte осталось число 8, а upper_nibble равно 7.
Чтобы получить сконвертированный байт объединим старший и младший ниблы:
Код
char result = (upper_nibble << 4) | mybyte;

Такой алгоритм исспользуется для конвертации в программе функции CHAR2BCD2.
Код
char CHAR2BCD2(char input)
{
    char high = 0;
    
    
    while (input >= 10)                 // Подсчитаем десятки
    {
        high++;
        input -= 10;
    }

    return  (high << 4) | input;        // Добавляем единицы и возвращаем результат
}

Если входное значение находится в пределах от 0 до 255 то исспользуют следующую функцию
Код
unsigned int CHAR2BCD3(char input)
{
    int high = 0;
        
    while (input >= 100)                // Подсчитаем сотни
    {
        high++;
        input -= 100;
    }

    high <<= 4;
    
    while (input >= 10)                 // Подсчитаем десятки
    {
        high++;
        input -= 10;
    }

    return  (high << 4) | input;        //  Добавляем единицы и возвращаем результат
}

Ещё один маленький пример ковертации байта в эквивалентное значение ASCII
с исспользованием BCD.
К примеру мы имеем байт Number размерностью от 0 до 99 который нужно сконвертировать BCD
в два эквивалентных кодировке ASCII значениям.
Код
char Tens = 0;     // десятки
char Ones = 0;     // единицы
char Number = 93; // значение для конвертации

Переведём десятичное значение в BCD исспользуя вышеописсаную функцию:
Код
Tens = CHAR2BCD2(Number);

Теперь переменная Tens в старшем нибле содержит десятки а в младшем - единицы. Дальше всё
очень просто, только необходимо помнить что ASCII ‘0’ - это 48, ‘9’ - это 48+9=57,‘3’ - это 48+3=51,
и наоборот 57 это десятичное значение ASCII ‘9’,51 это десятичное значение ASCII ‘3’.Таким образом конвертация десятичного значения в его эквивалентное ASCII значение - это простое суммирование десятичного значения и 48. Поскольку функция CHAR2BCD2 загрузила десятки и единицы переменной Number в Tens то мы должны сначала извлечь переменные Tens и Ones и добавляя 48 получить эквивалентные ASCII значения для Number.
Код
Ones = Tens;
Ones = (Ones & 0x0F) + '0';

Десятые мы получаем сдвигом на 4 и добавим 48.
Код
Tens = (Tens >> 4) + '0';

Теперь можно посимвольно выводить значения на ЖКИ, передавать в компютер и т.п.Пользуйтесь, это удобно. В общем может где-то есть и другая инфа на русском, я её не нашол, разобрался сам и решил другим помочь. Всё вышеперечиссленное тестировалось в компиляторе ИАР вер.5.10А.
Если будут найдены ошибки прощу исправить


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
Anub
сообщение May 26 2008, 17:20
Сообщение #67


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 26-05-08
Пользователь №: 37 825



Добрый день, решил заняться программированием МК, купил программатор ChipProg-40. Программатор полностью устраивает, все прошивает на отлично, но вот контроллер работать отказывается. Работаю с atmega8535. Вопрос - он действительно работает без внешнего кварца, или может как то нужно активировать внутренний? При установке в схему контроллер заметно греется, что наводит меня на мысль о том что проблема вовсе не в программаторе или самом контроллере а в программе, ибо походу контроллер работает а вот программу выполнять отказывается. Программу компилировал в Programmers Notepad 2, в makefile соответственно вписал atmega8535. Если кому не сложно, сделайте элементарный пример для этого контроллера(например что бы на PA0 горел светодиод).
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 27 2008, 15:51
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Anub - зря вы потратились. СТК200/300 - вот это вЭщ!
По теме -
Меги имеют встроенный РЦ-генератор - вроде с заводи идут с тактированием 1МГц(Читайте ДШ раздел ФУЗЫ).
Если при установке в схему камень греется - это не програмам а скорей всего(99%) монтажка - проверяйте схему.
Пример с миганием:
Код
int main (void)
{
    DDRA=0x01;// устанавливаем 0-й пин порта А на вывод
    while (1)//типа бесконечный цикл
    {
        PORTA =0x01;//установка "1" на 0-ю лапу
        //тут надо вставить задержку - юзаю стандартную, там либу подрубать нужно- delay.h вроде - а вы сами определитесь что и где вам нужно
        _delay_ms(200);
        PORTA =0x00;// установка "0" на все лапы
        _delay_ms(200);// аналогично , а то мигать не будет
    }

    return 1;//пусть будет - варнингов меньше..
}
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 27 2008, 16:30
Сообщение #69


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Obama @ May 16 2008, 09:38) *
Вот красивый проект для начинающих от новичка

Пороект вполне банальный,действительно уровень новичка. А с учетом прикладывания к нему рук, и особенно ссылок, воинствующего ламера 123 я бы вообще более, чем скептически рекомендовал ко всему написанному относиться.
Moderator:
Приложение слегка почистил от наглой саморекламы присоседившегося 123.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ysb
сообщение Jun 18 2008, 10:33
Сообщение #70


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-11-05
Пользователь №: 10 436



добрый день!
подскажите, пожалуйста, как железно(без прошивки) проверить МК AVR на работоспособность? программатор выдает communication error(
Go to the top of the page
 
+Quote Post
ysb
сообщение Jun 18 2008, 13:20
Сообщение #71


Участник
*

Группа: Новичок
Сообщений: 47
Регистрация: 3-11-05
Пользователь №: 10 436



такой вопрос: если в CVAVR при прошивке стоит галочка Program Fuse Bits, но ниодного фьюза в списке не выбрано, то это он их всех сделал '1'? т.е CKSEL[3..0] = 1111 => работа от внешнего клока?? (mega16)
ситуация такая: один раз прошивается норм, потом МК не отвечает программатору... подскажите, куда смотреть пожалуста

Сообщение отредактировал ysb - Jun 18 2008, 13:24
Go to the top of the page
 
+Quote Post
vet
сообщение Jun 20 2008, 04:33
Сообщение #72


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(ysb @ Jun 18 2008, 17:20) *
такой вопрос: если в CVAVR при прошивке стоит галочка Program Fuse Bits, но ниодного фьюза в списке не выбрано, то это он их всех сделал '1'? т.е CKSEL[3..0] = 1111 => работа от внешнего клока?? (mega16)
ситуация такая: один раз прошивается норм, потом МК не отвечает программатору... подскажите, куда смотреть пожалуста

галка означает фьюз, запрограммированный в 0, а её отсутствие - 1.
Таким образом, чтобы зашить режим работы от кварца, нужно снять все галки CKSELn.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
radiofill
сообщение Jun 24 2008, 17:51
Сообщение #73


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 21-02-08
Пользователь №: 35 272



Цитата(nameless @ Apr 6 2005, 16:06) *
Не советую AVR для начинающих. Уж куда приятнее PIC. В преподавательской практике использовал оба - PIC схватывают на лету !!!
Есть подозрение - что из-за системы команд.


Всё гораздо проще. Для PIC есть много литературы на руссоком языке. Для AVR в основном только документация с минимумом примеров.
Go to the top of the page
 
+Quote Post
Daedal07
сообщение Jun 24 2008, 18:16
Сообщение #74


Местный
***

Группа: Свой
Сообщений: 287
Регистрация: 3-12-07
Из: г.Казань
Пользователь №: 32 913



Я осваивать начал и,собственно,пока там и остался, с Мультикоров..и вот думаю,что мне просто не повезло...кто сталкивался-поймёт..конечно RISC+DSP сходу - это не совсем верно,но ситуация обязывала. Впринципе, неплохо,но глюки есть и они добивают,в основном, они в среде разработки(ПО слетает и если к этому не привыкнуть,то забросишь сразу же)..возможно предвзятость это,потому как отечественный...полезно знать,что наши пытаются.Если верить анонсам,то на них стоит обратить внимание,в мощности они прибавляют. smile.gif


--------------------
Сжимаются ужи насмешкой лжи
Go to the top of the page
 
+Quote Post
Hitako
сообщение Jun 28 2008, 23:09
Сообщение #75





Группа: Новичок
Сообщений: 3
Регистрация: 28-06-08
Пользователь №: 38 616



Тут много полезного программы, литература. http://www.forum.ocp.su/

Сообщение отредактировал Hitako - Jun 28 2008, 23:12
Go to the top of the page
 
+Quote Post
марат
сообщение Jun 30 2008, 16:44
Сообщение #76





Группа: Новичок
Сообщений: 5
Регистрация: 30-06-08
Пользователь №: 38 655



Добрый вечер. Подскажите пожалуйста, Как сделать секундомер на ATmega103 длительностью до 5 минут на Code VisionAVR C ?

Заранее большое спасибо!!
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 1 2008, 08:04
Сообщение #77


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 марат - вам нужно в интерупте по таймеру инкрементировать дабл например (если дискретность таймера маленькая -2х байт может не хватить ) - зная период таймера легко вычислить какое значение дабла будет по прошествию 5 минут wink.gif
Go to the top of the page
 
+Quote Post
марат
сообщение Jul 1 2008, 14:12
Сообщение #78





Группа: Новичок
Сообщений: 5
Регистрация: 30-06-08
Пользователь №: 38 655



Алгоритм и структурная схема находятся тут : http://electronix.ru/forum/index.php?showt...mp;#entry433443
Go to the top of the page
 
+Quote Post
Tiny
сообщение Jul 13 2008, 09:21
Сообщение #79


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 10-07-06
Пользователь №: 18 720



Такой вопрос.
CodeVision, пример из пакета \cvavreval\examples\DS1820
Термометр с использованием Dallas Semiconductor DS1820, кварц 3.6864MHz
В программе используются библиотеки для работы с DS1820. Насколько я поинмаю, для обработки получаемых данных от DS1820 нужны определенные интервалы времени.
Я сделал проектик на Mega 16. Такого кварца у меня нет. Есть 4МГц, 4,5МГц и выше. Внутренние частоты МК - 1, 2, 4, 8. Попробывал в Протеусе симуляцию на 4 МГц. Работает. Но в реальном устройстве - нет.
Попробывал подключить внешнюю RC-цепь (4,2К 22пФ), выставив соответсвующие фюзы. Опять же на индикаторах ерунда.
Есть ли выход из данного положения? Можно ли обойтись без кварца на 3.6864MHz?
Go to the top of the page
 
+Quote Post
Tiny
сообщение Jul 13 2008, 18:01
Сообщение #80


Частый гость
**

Группа: Участник
Сообщений: 82
Регистрация: 10-07-06
Пользователь №: 18 720



Разобрался. Забыл проинвертировать управление транзисторами, которые коммутируют сегменты. Работает и от внутреннего 4МГц и от внешней RC цепи.
Go to the top of the page
 
+Quote Post
DeVOuR
сообщение Jul 24 2008, 19:08
Сообщение #81


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 23-07-08
Пользователь №: 39 171



простенькй вопросик)

Первая моя прога на АТмелах. Атмега8.

последоательный порт (USART). принцип приема с прерыванием каков?

Система такова:
1. прием определенного байта, который соотв. 1му из 3х определенных последующих действий мк.
а) выслать по юарт одни данные
б) выслать по юарт другие данные
в) приготовится принять данные

с передачей проблемм нет, а как организовать прием?
я пока что сделал так:
1. принимается байт - срабатывает прерывание - прерываемся - смотрим, какой байт получили - переходим к нужной проце - и тут же, не выходя из прерывания всю процу и выполняем.
с трансмиттом то так и будет, а вот с приемом номально? или все же следует както организовать прерывания таким образом, чтобы выходить из него после каждого принятого байта?

спс за ответ.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Jul 25 2008, 09:35
Сообщение #82


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



Приём/передача по прерываниям.
При чём лучше передавать пакетом данные - тогда разбор полётов можно засунуть сразу в прерывание + ошибок меньше будет в зашумлённых условиях.
Работа приблизительно такова - в ресив интерупте декодировался пакет -> есть комманада и данные - тогда выставляем определённый семафор и системный манагер (можна на таймер какой либо прицепить) по наступлению тика обрабатывает нужный запрос.
Передача - забиваете в буффер данные и кол-во для передачи - выставляете флаок и пошли интерупты клацать wink.gif
Go to the top of the page
 
+Quote Post
DeVOuR
сообщение Jul 25 2008, 18:27
Сообщение #83


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 23-07-08
Пользователь №: 39 171



Kuzmi4,
спасибо.
передачу переделал на пакетную, прием тоже сделал красиво.
в симуляторе работает как часики..
надо дописать ПО под виндоз, тогда посмотрим, че там получится)


и, есть ли смысл считать контрольную сумму? или это все зависит от частот и скоростей?
Go to the top of the page
 
+Quote Post
bureau
сообщение Jul 26 2008, 11:00
Сообщение #84


Знающий
****

Группа: Свой
Сообщений: 625
Регистрация: 22-02-07
Пользователь №: 25 593



2 DeVOuR - вё зависит от зашумлённости среды в которой будет идти провод smile.gif
Go to the top of the page
 
+Quote Post
OlegH
сообщение Aug 15 2008, 21:37
Сообщение #85


Частый гость
**

Группа: Свой
Сообщений: 186
Регистрация: 14-01-06
Из: Украина, г.Харьков
Пользователь №: 13 168



Цитата(bureau @ Jul 26 2008, 14:00) *
2 DeVOuR - вё зависит от зашумлённости среды в которой будет идти провод smile.gif


Мне так видится, все зависит прежде всего от тяжести последствий приема и обработки искаженного пакета smile.gif Потому что вероятность приема искаженных данных существует всегда (и причины могут быть самые разные). Особенно если одной из обменивающихся сторон является ПК с виндой smile.gif
Фактически, в протоколе обмена типа "пакет запроса - пакет ответа" контрольные суммы нужны всегда.
Во избежание пусть очень редко случающихся, но весьма неприятных и непредсказуемых глюков smile.gif Даже простая арифметическая сумма или XOR байт пакета куда лучше чем ничего.
Ну а по-правильному - CRC8, CRC16 или CRC32 в зависимости от длин пакета и предполагаемой вероятности искажения данных. В качестве прикидки (где-то когда-то что-то такое слышал): CRC16 в типичном канале с BER (Bit Error Rate - вероятностью приема сбойного бита) = 10^-3 (один на тысячу) гарантирует обнаружение ошибки в пакетах с длиной, ограниченной на уровне 256 байт.

Сообщение отредактировал Олег Хохлов - Aug 15 2008, 21:43
Go to the top of the page
 
+Quote Post
Integral
сообщение Aug 16 2008, 03:27
Сообщение #86


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



Для работы от внешнего кварца снял все галки CKSELn. Другие галки не трогал. Поставил внешний кварц. После чего МК перестал отвечать програматору. В чем проблема? может нужно было еще какието фьюзы поменять? Как теперь запустить МК? (мега16)

Кажется я понял в чем проблема.... по дефолту CKSELn=0001. А в моей проге для програматора по дефолту стояла только 1 галка в CKSELn, соотвецтвенно в этой проге идет наоборот.... галка - 1, нету галки - 0.
Таким образом получилось у мну CKSELn=0000. angry.gif

Как запустить теперь МК и выставить фьюзы как положено?

Сообщение отредактировал Integral - Aug 16 2008, 03:32
Go to the top of the page
 
+Quote Post
SSerge
сообщение Aug 16 2008, 12:18
Сообщение #87


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(Integral @ Aug 16 2008, 10:27) *
Как запустить теперь МК и выставить фьюзы как положено?

Подать на МК внешний клок от любого источника.
При использовании адаптеров типа STK200/300 или Altera ByteBlaster клок можно генерить самим адаптером, если, конечно, программа программатора это умеет.
Например AvReal умеет.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
Integral
сообщение Aug 16 2008, 13:31
Сообщение #88


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



Будем пробывать... на К155ЛА3 генератор склипаю...
Частота порядка 100КГц - 1МГц покатит?
Go to the top of the page
 
+Quote Post
SSerge
сообщение Aug 17 2008, 21:45
Сообщение #89


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(Integral @ Aug 16 2008, 20:31) *
Будем пробывать... на К155ЛА3 генератор склипаю...
Частота порядка 100КГц - 1МГц покатит?

Должно при одном условии. Частота тактирования процессора должна быть в несколько раз выше частоты сигнала SCK при программировании.

конкретно для Мега16:
Depending on CKSEL Fuses, a valid clock must be present. The minimum low and high periods
for the serial clock (SCK) input are defined as follows:
Low:> 2 CPU clock cycles for fck < 12 MHz, 3 CPU clock cycles for fck ≥ 12 MHz
High:> аналогично.

т.е. низкий и высокий уровень на ноге SCK должны удерживаться не менее 2 (или даже 3) периодов тактирования процессора.
Быстрее одного раза за микросекунду порт принтера обычно не переключается, так что частоты от 2МГц точно хватит, немного более низкой - скорее всего хватит.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
Integral
сообщение Aug 17 2008, 21:52
Сообщение #90


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 9-08-08
Пользователь №: 39 519



заработал на частоте 1.6МГц, програмируется у меня через СОМ порт.

Удивительно то что при напряжении 12В которое подавалось на питание МК около 30сек. он не накрылся... 07.gif (сгорел сволочь стабилизатор 7805)
Go to the top of the page
 
+Quote Post
monos
сообщение Aug 24 2008, 13:07
Сообщение #91


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 2-04-08
Из: Беларусь
Пользователь №: 36 425



Столкнулся с такой задачей:
Необходимо было оцифровать сигнал с потенциометра и затем отмаштабировать цифровой результат. Как это сделать я так и не придумал, поэтому пришлось масштабировать аналоговый сигнал. Хотелось бы все таки делать это (масштабирование) программно. Камень использовал пик16ф886. Подскажите начинающему.
Go to the top of the page
 
+Quote Post
Sergey Reva
сообщение Aug 24 2008, 13:19
Сообщение #92


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 22-04-07
Из: Poltava/Kharkov
Пользователь №: 27 243



т.е нужно умножить, например на 0,12345? можно сделать так, умножить на 12345, разделить на 100000, при этом тип данных должен быть соответствующий, long например.
Go to the top of the page
 
+Quote Post
monos
сообщение Aug 24 2008, 14:05
Сообщение #93


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 2-04-08
Из: Беларусь
Пользователь №: 36 425



Спасибо. Если не затруднит, дайте примерчик на си для понимания, как правильно задать этот (long) тип данных.
А как сделать "смещение нуля" программно? Так, как нужно, чтобы отмаштабированный сигнал имел заданные минимальное и максимальное значения.
Go to the top of the page
 
+Quote Post
Sergey Reva
сообщение Aug 24 2008, 14:39
Сообщение #94


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 22-04-07
Из: Poltava/Kharkov
Пользователь №: 27 243



Код
long value;

const long offset=-10;  // -10 adc попугаев
const long mul= 12345; // 0,12345
const long div=100000;

value=readADC();

value+=offset;
value*=mul;
value/=div;

showOnLcdLong(value);
showOnLcdByte((char)value);


вот собственно и полный пример: http://electronix.ru/forum/index.php?act=A...st&id=16863
Go to the top of the page
 
+Quote Post
monos
сообщение Aug 24 2008, 20:47
Сообщение #95


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 2-04-08
Из: Беларусь
Пользователь №: 36 425



Видимо, я сильно начинающийsmile.gif : понял принцип, а как применить к моему случаю-- понял не совсем.
У меня задача следующая: необходимо результат ацп поместить 8-разрядный регистр PR (он задает длительность импульса шим модуля ССР). При этом, 8<PR<48. У пиков ацп 10-разрядное (результат ацп читается из спаренного 16-разрядного регистра- старший байт и младший байт) т.е. результат будет в диапазоне 0...1024. В Вашем примере задается 32-разрядный тип данных, надо ли это в моем случае? Помогите разобраться.
Go to the top of the page
 
+Quote Post
Sergey Reva
сообщение Aug 24 2008, 22:35
Сообщение #96


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 22-04-07
Из: Poltava/Kharkov
Пользователь №: 27 243



ну тогда можно просто делить на 25, без округления
1023/25=40,92 = 40
0/25=0
добавить смещение 8 и готово, в результате 8 ~ 48, тогда хватит и 16 бит, если есть возможность перевести АЦП в 8 бит режим, то наверное можно ещё проще, но это уже сами считайте smile.gif

з.ы.
только что заметил... больше 8, меньше 48... значит смещение 9, коэф соотв тоже надо пересчитать.. но смысл тот же
Прикрепленные файлы
Прикрепленный файл  calculation.pdf ( 75.72 килобайт ) Кол-во скачиваний: 316
 
Go to the top of the page
 
+Quote Post
monos
сообщение Aug 25 2008, 08:12
Сообщение #97


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 2-04-08
Из: Беларусь
Пользователь №: 36 425



Принцип понял, спасибо. Вы правы, наверное, будет лучше не читать два младших бита ацп и оперировать восьмиразрядным словом: такая возможность есть. Надо только продумать, как оперативно изменять мин и мах значения при наладке железа. А в пэдээфке, как понял, три варианта вычисления?
Go to the top of the page
 
+Quote Post
Sergey Reva
сообщение Aug 25 2008, 09:13
Сообщение #98


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 22-04-07
Из: Poltava/Kharkov
Пользователь №: 27 243



сначала идёт расчёт коэф, потом 3 варианта расчёта, 1й с типом double, 2й через целочисленную арифметику с округлением, 3й - то же что и 2й (только через 1/к) но без округления
Go to the top of the page
 
+Quote Post
monos
сообщение Aug 25 2008, 12:51
Сообщение #99


Местный
***

Группа: Свой
Сообщений: 225
Регистрация: 2-04-08
Из: Беларусь
Пользователь №: 36 425



2Sergey Reva
Спасибо.
Go to the top of the page
 
+Quote Post
_Ie0nid
сообщение Sep 22 2008, 01:27
Сообщение #100


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 20-09-08
Пользователь №: 40 344



Спасибо всем кто помог с регистрами USART. Подскажите пожалуйста еще один такой нюансик. Я пытался подключитть клавиатуру к УСАРТУ в синхронном режиме, у него есть стробирующие импульсы - 11 штук, идут они одновременно с данными, следовательно получается нужные 11 бит. (1 стартовый, стоповый, бит четности, и 8 бит данных). Естественно у меня ни чего не получилось. Такой вопрос, УСАРТ принимает очередной бит данных каким образом? По каждому стробу? И следующее, данные, я так понимаю, он считывает по уровню при появлению фронта строба.
Go to the top of the page
 
+Quote Post

17 страниц V   1 2 3 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 05:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.02645 секунд с 7
ELECTRONIX ©2004-2016