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

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

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

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

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

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


 
Опции темы
Непрочитано 06.05.2009, 11:31  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

Критику принимать будете?
Реклама:
mike7815 вне форума  
Непрочитано 06.05.2009, 13:12  
IOPA4
Почётный гражданин KAZUS.RU
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию

Сообщение от mike7815
Критику принимать будете?
Опять критика . Ну давайте послушаем, в смысле почитаем 8O
IOPA4 вне форума  
Непрочитано 06.05.2009, 13:14  
IOPA4
Почётный гражданин KAZUS.RU
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию

Цитата:
Многие российские и зарубежные разработчики применяют в своих проектах AVR-микроконтроллеры, которые фирма ATMEL выпускает с 1997 г. За это время продано уже более 500 миллионов штук микроконтроллеров. Одним из факторов такой популярности является удачная архитектура микросхем, которая оптимизирована для программирования на языке Си. Критики этого утверждения могли заметить, что, младшие представители AVR-микроконтроллеров (ATtiny11, ATtiny12 и ATtiny15), не содержат блок оперативной памяти, и оснащены аппаратным трехуровневым стеком, существенно ограничивающим возможности программиста. Однако, с выходом AVR-микроконтроллера второго поколения ATtiny13 это «узкое место» было устранено. 8-выводной ATtiny13 оснащен модулем оперативной памяти, позволяющий создавать программный стек заданной глубины. Таким образом, полноценное программирование на языке Си стало возможным и для этих микроконтроллеров.
Информация с сайта: http://www.compitech.ru/html.cgi/rubrikator/micros.htm
IOPA4 вне форума  
Непрочитано 06.05.2009, 14:50  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

критика не АВРок, а стиля программирования. Я посмотрем Вашу страничку.Вы толковое дело делаете и делаете его аккуратно и педантично.
И так - Замечание по программированию -Не пишите так программы.
1. структура программы -
МК- реагирует на внешние события- разбивайте программу по типам событий.
а)основа - отсчет времени таймером(одно главное прерывание- сердечный ритм программы)+ бесконечный цикл
б)события периодические во времени- таймер пункта а
в)события "быстрые" и не периодические или очень быстрые периодические - время реакции от 20-30 тактов и до нескольких тысяч- используем прерывания компаратора, по фронту и т.п.- но избегайте лишних прерываний
г) события "медленные"- время реакции больше чем в пункте в - используем таймер пункта а и флаги
д) вычисления и очень медленные события.- используем бесконечный цикл.
2) пишите внятные комментарии.
3) смотрите что и как компилирует CVAVR - файлы .map .lst -управляйте размещением переменных, стеками и всякими прелестями, все описано в хелпе к CVAVRру
4) собственно вытекающий из п.3. так писать не надо-
не if ((PINB.0==0) & (PINB.3==0)), а if( (PINВ&0b00001001)==0)
не PORTD.0=(!PORTD.0), а PORTD.0=~PORTD.0 или PORTD.0++(больше тактов, но красивее)
не //делаем 5 измерений
//и усредняем (для большей точности), а используем скользящие среднее - примитивная фильтрация ну, а если уж сильно хочется усреднять так хоть делим на степень двойки- операция сдвига "››"
и т.д. кстати
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);- это есть ересь т.к. если выбран канал без усилителя то задержка не нужна, а если с усилителем, то задержка должна быть больше.
ЗЫ Могу продолжить пункт 4 или объяснить подробнее то, что написал.
ЗЫЫ я не буду переписывать код или писать свои "уроки" и доказывать лично что так лучше(чтобы это избежать я спросил разрешения. ) т.к. я разгильдяй и лентяй.Но если поймете и учтете мои замечания- будет абсолютно другой уровень.- будет краасиво.
mike7815 вне форума  
Непрочитано 06.05.2009, 15:55  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

Хм да уж. Прежде чем писать предидущий пост я не читал тред.
mike7815 вне форума  
Непрочитано 06.05.2009, 16:08  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

To sva-don. Я не понял шо за наезды на delay_us()? какая синхронизация?-
Кто на ком стоял? - потрудитесь излагать ваши мысли яснее.(с)
ЗЫ шепотом- то что Вы написали о delay_us()- лошадинный бред
mike7815 вне форума  
Непрочитано 06.05.2009, 16:40  
IOPA4
Почётный гражданин KAZUS.RU
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию

to: mike7815
Это не я писал, а CodeVisionAVR Wizard:
Код:
#define ADC_VREF_TYPE 0xC0

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
Предполагаю, что им видней, а так спасибо за суровую критику - мы учимся только.
IOPA4 вне форума  
Непрочитано 06.05.2009, 17:18  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

Ну что тогда можно смело писать о баге Хайдуку т.к. для adc_input(ADMUX)‹8- delay_us(10); Вещь конечно не возбранная, возможно и имеет некий тайный смысл(в чем я очень сомневаюсь- т.к. атмеловцы разрешают менять значение ADMUX еще до окончания преобразования) но в случае с adc_input(ADMUX)›=8(диф входа) будет суровой ошибкой т.к. там таки да надо время для стабилизации усилителя, но время это сурово больше 10мкс- необходимо ›125мкс
mike7815 вне форума  
Непрочитано 06.05.2009, 17:25  
mike7815
Прописка
 
Регистрация: 16.03.2005
Сообщений: 244
Сказал спасибо: 78
Сказали Спасибо 85 раз(а) в 55 сообщении(ях)
mike7815 на пути к лучшему
По умолчанию

ЗЫ кстати смотрю Вашу программу астрометра. Не ну все хорошо но не так 8к меги8 с головой должно хватать за глаза. Надо формулы подработать - сурово там все до ужаса может там таблички какие-то апроксимация там всякая ну какая разница- полчаса сюда пол часа туда Главное чтоб часы точно тикали.
mike7815 вне форума  
Непрочитано 06.05.2009, 18:48  
yuriji
Прописка
 
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
yuriji на пути к лучшему
По умолчанию

Сообщение от mike7815
ЗЫ кстати смотрю Вашу программу астрометра. Не ну все хорошо но не так 8к меги8 с головой должно хватать за глаза. Надо формулы подработать - сурово там все до ужаса может там таблички какие-то апроксимация там всякая ну какая разница- полчаса сюда пол часа туда Главное чтоб часы точно тикали.
Ха, дак в чем проблема то, напишите формулы, как с вашей точки зрения будет правильно. Проект то открытый, для всех, ну если как вы сказали вам лень писать, то опишите теорию для астрономических вычислений, но не как не таблицы.
yuriji вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Видео уроки dosikus Микроконтроллеры, АЦП, память и т.д 61 23.01.2012 21:06
Видео уроки (flash) Proteus 7.1 fmssp Proteus 5 13.08.2007 03:56
AVR уроки Рюмика chipic128 Proteus, KiCAD и другие ECAD 9 07.03.2007 21:46
уроки от LABCENTRE(PIC12F675+C) dosikus Микроконтроллеры, АЦП, память и т.д 22 09.10.2006 10:16


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


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