Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.07.2007, 12:15
|
|
Прописка
Регистрация: 16.04.2007
Сообщений: 146
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
А ненормальный не включит сброс
|
Покажите мне компилятор который в паузе не сбросит псинку. В топку такой компилятор. Открою тому, кто не знает, одну основную истину в программировании. Написать проект занимает ~20% времени, а уже оладить, что бы работал все ~80%. На Соладка в 10 раз быстрее идёт, вот и считайте. А на цене контроллеров не стоит запариваться. Это было актуально лет 5 назад. Сейчас все контроллеры копейки стоят. Вы лучше посчитайте зарплату программистов. Да если они на месяц больше программу писать будут, так и в трубу организации вылететь можно. Да ещё конкуренты, на месте не стоят. Пусть они выпустят девайс на 50 центов дороже (что спорно из-а сроков) но раньше вас, и тогда вообще пипец. Однозначно главным приоритетом сейчас в программинге является не С, asm или какой нибудь Baisik, а СКОРОСТЬ НАПИСАНИЯ ПРОЕКТА! У кого, что быстрее получается то тому и флаг в этом в руки. Но думаю, никто не будет спорить, что проекты, где используются многостраничные меню и всякие сложные алгоритмы, быстрее писать на С.
Цитата:
|
пройдет много времени пока эти бока выплывут
|
Никакого много времени не проходит. Если, что то настораживает, я просто открываю ассемблерный код и смотрю что там компиллер натворил. Кстати часто смотрю asm код когда надо посмотреть какие регистры сейчас компиллер присвоил переменным, чтобы ими воспользоваться в асме. Это к скрещивания asm и С
__________________
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртову гвоздю!
|
|
|
|
25.07.2007, 21:03
|
|
Частый гость
Регистрация: 02.09.2006
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Спасибо за ссылки на литературу.
Сам начинал постигать AVR на базе курса от автора
http://avr.nikolaew.org,
только сайт был здесь
http://avrpic.boom.ru/index.htm
давно это было.
Согласен. Справочник AVRASM.chm внутри студии исчерпывающий, только это справочник. Учебник с примерами, разъяснения и практические применения надо искать в других местах.
Есть еще такая книженция:
Микроконтроллеры семейства AVR фирмы Amtel. Гребнев В.В. РадиоСофт. 2002г.
http://www.radioscanner.ru/files/dow...atmelbook.djvu
|
|
|
|
09.11.2007, 00:40
|
|
Прохожий
Регистрация: 11.07.2006
Адрес: Россия
Сообщений: 7
Сказал спасибо: 845
Сказали Спасибо 7 раз(а) в 3 сообщении(ях)
|
Уважаемый Andrewg
где-то скачал полезную инфу: 'AVR animated tutorials'
если не ошибаюсь там и коментарии есть
Прикрепленный файл: 6299604.zip
|
|
|
|
09.11.2007, 00:45
|
|
Прохожий
Регистрация: 11.07.2006
Адрес: Россия
Сообщений: 7
Сказал спасибо: 845
Сказали Спасибо 7 раз(а) в 3 сообщении(ях)
|
простите, забыл указать что начальный файл это: INDEX.htm
|
|
|
|
10.11.2007, 00:16
|
|
Частый гость
Регистрация: 19.01.2007
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Еще один нюанс- если пишешь программы нечасто ( не работа, а хобби так сказать), то Си просто успевает забыться. А асм: есть 20 основных команд, по ним и пишешь, ну можно в справочник заглянуть. И еще, согласитесь, что с переферией на асме удобнее.
|
|
|
|
12.11.2007, 12:33
|
|
Гражданин KAZUS.RU
Регистрация: 16.06.2005
Сообщений: 944
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
|
Сообщение от Inola
|
Еще один нюанс- если пишешь программы нечасто ( не работа, а хобби так сказать), то Си просто успевает забыться. А асм: есть 20 основных команд, по ним и пишешь, ну можно в справочник заглянуть.
|
А слабо посчитать число операторов С?
Цитата:
|
И еще, согласитесь, что с переферией на асме удобнее.
|
Не, не соглашусь ![Улыбка](images/smilies/icon_smile.gif) , например спи-мастер:
С:
DDR_SPI = (1‹‹DD_MOSI)|(1‹‹DD_SCK);
SPCR = (1‹‹SPE)|(1‹‹MSTR)|(1‹‹SPR0);
асм:
SPI_MasterInit:
ldi r17,(1‹‹DD_MOSI)|(1‹‹DD_SCK)
out DDR_SPI,r17
ldi r17,(1‹‹SPE)|(1‹‹MSTR)|(1‹‹SPR0)
out SPCR,r17
ret
|
|
|
|
12.11.2007, 23:21
|
|
Частый гость
Регистрация: 19.01.2007
Сообщений: 29
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Цитата:
|
А слабо посчитать число операторов С?
|
Ага, только чтобы использовать библиотеки надо знать названия и аргументы функций, ради этого собственно почти все и затевается ( типа _delay_loop и прочего изврата). А всякие и/или/ветвления/циклы писать что на асме, что на си-фиолетово. просто надо точно знать, чего хочешь.
Соглашусь с тем, что удобно знать и то, и другое. Можно писать и на том, и на другом- по настроению
|
|
|
|
13.11.2007, 10:40
|
|
Гражданин KAZUS.RU
Регистрация: 16.06.2005
Сообщений: 944
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
|
Сообщение от Inola
|
Ага, только чтобы использовать библиотеки надо знать названия и аргументы функций, ради этого собственно почти все и затевается ( типа _delay_loop и прочего изврата). А всякие и/или/ветвления/циклы писать что на асме, что на си-фиолетово. просто надо точно знать, чего хочешь.
|
Ну нет ![Улыбка](images/smilies/icon_smile.gif) . Библиотеки не рассматриваем. На асме ведь их тоже дофига можно найти, и так же надо знать названия и аргументы функций. ![Прикольно](images/smilies/icon_wink3.gif) Я, кстати говоря, за 4 года работы с авр, не использовал библиотечных функций, хотя попытки были. Но как только я сравнивал время выполнения и размер кода скажем printf("
") и UDR0 = 0x0D, то мне становилось грустно. Оказалось оптимальнее и быстрее работать с ацп/цап/лцд и прочими компонентами обвязки микроконтроллера по даташиту.
Так что
Цитата:
|
писать что на асме, что на си-фиолетово. просто надо точно знать, чего хочешь.
|
Цитата:
|
с тем, что удобно знать и то, и другое.
|
Тут слегка не соглашусь - необходимо знать и то и другое. Причем, имхо, лучше сначала изучить ассемблер, а потом какой-нить яву.
|
|
|
|
13.11.2007, 11:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от Someone
|
Библиотеки не рассматриваем. На асме ведь их тоже дофига можно найти, и так же надо знать названия и аргументы функций.
|
Может оппонент такой ортодокс асма, что и функции не использует - довольствуется джампами и переменными состояния. Это намного увлекательнее, чем Си, да ещё с библиотеками.
Сообщение от Someone
|
Тут слегка не соглашусь - необходимо знать и то и другое. Причем, имхо, лучше сначала изучить ассемблер, а потом какой-нить яву.
|
Как можно соглашаться или не соглашаться с какой-либо рыболовной снастью? ![Смешно](images/smilies/icon_lol.gif) Можно спорить о том, какую когда применять - это да. Так вот, спорить о том, какие языки изучать (и в каком порядке), а какие не нужно, можно только по отношению к какой-либо конкретной цели. А по отношению к другой цели, ещё вчера верные выводы окажутся ошибочными.
|
|
|
|
13.11.2007, 11:29
|
|
Временная регистрация
Регистрация: 18.10.2007
Сообщений: 81
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
C vs ASM, Atmel vs Microchip, Windows vs Linux, Intel vs AMD... Они ориентированы на решение разных задач. По поводу скорости написания... Да, сейчас кто быстрее - тот и круче. Delphi, например, вообще всех порвет по скорости в некоторых ситуациях :) И чего хорошего? "Hello, world" занимает мегабайт, как его не оптимизируй.
Еще есть привычки и опыт. По поводу
Цитата:
|
MOV R3,#58
DJNZ R3,$ ; delay 120 us
проще и НАГЛЯДНЕЙ чем:
delay_us(120);
|
Я, например, вообще начинал с 0E 41 CD 03 C8 (вывести букву "А"), и мне в какой-то степени даже удобнее, положив рядом распечатку назначения битов в переменных/регистрах, написать что-то вроде
Код:
|
movlw 0xc6
movwf myvar1 |
вместо
Код:
|
SPCR = (1‹‹SPE)|(1‹‹MSTR)|(1‹‹SPR0); |
Оно как-то читабельней ;) (недавно прочитал одному человеку строку байт зеркально, т.е. 03 56 70 вместо C0 6A 0E, его такие мои навыки уже не удивляют)
С чего начинать... Если есть голова - все равно. Можно выучить ассемблер, потом перейти на С, понимая, что там внутри происходит. А можно начать с С, наступить где-нибудь на грабли и опять-таки добраться до ассемблера, пытаясь от них (грабель) избавиться.
Можно делать все очень быстро, соединяя "кубики" какого-нибудь конструктора и получая более-менее работоспособных монстров (я про них уже писал на этом форуме), а можно все разрабатывать с нуля, продумывая каждую мелочь, считая каждый байт и резистор. И те, и другие специалисты востребованы. Первые, к сожалению, чаще.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:06.
|
|