23.07.2013, 22:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от oleg110592
|
а это уже потруднее
|
Чёрта с два "это потруднее" - примеры я уже приводил - достаточно понять, что "магические числа" есть зло и проблему - как рукой снимает.
Зато сколько я видел наступаний на грабли, когда "апологеты визарда" пытались править его константы, твёрдо веря в то, что помнят назначение и положение отдельных бит в регистрах.
Что безопаснее (да и быстрее, кстати) править:
Код:
|
SPCR = SPI_MASK | (SPI_MODE3) | (SPISCKby16);
на
SPCR = SPI_MASK | (SPI_MODE2) | (SPISCKby64); |
или одно магическое число на другое, столь же магическое?
__________________
There's always more than one way to skin a cat.
|
|
|
|
23.07.2013, 22:52
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
В вере в волшебника (wizard) ?
относительно сабжа переводится "мастер установки"
Чёрта с два "это потруднее"
пользуюсь регулярно кодом из визарда из-за лени - не было проблем, константы не правлю. Я, наверное какой-то неправильный что-ли.
Последний раз редактировалось oleg110592; 23.07.2013 в 22:57.
|
|
|
|
23.07.2013, 23:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от oleg110592
|
константы не правлю
|
Страшно?
__________________
There's always more than one way to skin a cat.
|
|
|
|
23.07.2013, 23:04
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
зачем править - и так работают
И картинки его есть. Ерунда это всё.
переводим страницу гуглем:
http://en.wikipedia.org/wiki/Wizard_%28software%29
|
|
|
|
23.07.2013, 23:06
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от oleg110592
|
К сожалению портится (личный опыт), особенно у мег8 (может с буквой А уже и нет), иногда мег48 (зависит от партии).
|
Использовал EEPROM в mega8/48/88/128/128 - ничего ни разу не портилось.
Видимо зависит от схемы, стабильности питания, настроек BOD, но не от CPU.
Сообщение от oleg110592
|
Из перевода хэлпа IMAGECRAFT: Обратите внимание, чтобы обойти аппаратную ошибку в AVR, для инициализированных данных EEPROM адрес 0 не используется.
|
На воду дуют...Где про эту ошибку в еррате написано?
|
|
|
|
23.07.2013, 23:10
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от oleg110592
|
зачем править - и так работают
|
Ну, ясное дело - ни тактирование таймеров, ни скорость UART'а, ни режимы ADC, ни что-либо ещё изменять никогда не приходится, причём - они устанавливаются только в коде визарда и больше нигде, по ходу исполнения, не меняются.
__________________
There's always more than one way to skin a cat.
|
|
|
|
23.07.2013, 23:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от _Артём_
|
Где про эту ошибку в еррате написано?
|
Такое действительно было, но в прошлой жизни.
__________________
There's always more than one way to skin a cat.
|
|
|
|
23.07.2013, 23:13
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
Такое действительно было, но в прошлой жизни.
|
В Classic AVR ? At90xxx?
|
|
|
|
23.07.2013, 23:39
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от tempora
|
Ну, ясное дело - ни тактирование таймеров, ни скорость UART'а, ни режимы ADC, ни что-либо ещё изменять никогда не приходится, причём - они устанавливаются только в коде визарда и больше нигде, по ходу исполнения, не меняются.
|
непонятно зачем по ходу - у меня все попроще. Посмотрел код своей поделки - терморегулятор с 485 интерфейсом - мега48, написано на иаре, настройки уарта, прием уарта и таймера и переферии из cv визарда. Возил сейчас (командировка) 7 штук в Белую Церковь, под Киевом. Кроме того еще три коробочки мега48+7 реле+7оптронов+485 (типа у меня плк такой), написано на АБ (сейчас опять заплюют). Управляется это ПК (тоже сам писал на делфи, с++билдере). Все это работает возле пускателей, частотника, бывает рядом сварка и без сбоев (сбои просто не допустимы). Это уже третья установка. Начал теперь сомневаться - что-то, наверное делаю не так. В следующий раз, наверное буду готовые PLC использовать.
Последний раз редактировалось oleg110592; 23.07.2013 в 23:46.
|
|
|
|
23.07.2013, 23:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Оптимальный старт в программировании МК на С
Сообщение от _Артём_
|
В Classic AVR ? At90xxx?
|
Я ж специально отметил - было в прошлой жизни. Поди теперь вспомни. То ли только в тиньках, то ли и в ранних мегах тоже, обвиняли кто - BOD в неверности, кто - саму EEPROM. Типа такого:
Ну, а поскольку в EEAR в эти моменты чаще всего адрес первой ячейки, то она и портилась чаще других.
Или на эл-хе:
Цитата:
|
почитайте внимательно ноты на используемый Вами МЦУ (даташит желательно последней версии) либо скачайте ноты ошибок/предупреждений/багов отдельным файлом. Там черным по белому написано что в ЕЕПРОМ по нулевому адресу лучше не писать. Я лично 0 и 1 - адреса не использую
|
Но потом был отбой - Атмел справился с проблемой, в той же 2313 - начиная с ревизии Ц.
__________________
There's always more than one way to skin a cat.
Последний раз редактировалось tempora; 24.07.2013 в 00:21.
|
|
|
Сказали "Спасибо" tempora
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:49.
|
|