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

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

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

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

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

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


 
Опции темы
Непрочитано 05.07.2013, 22:35  
alec220
Прописка
 
Регистрация: 19.02.2013
Адрес: Москва
Сообщений: 107
Сказал спасибо: 17
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
alec220 на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Вы обсуждаете с чего лучше начинать, я правильно понял?
начали вроде с одного, а дальше как обычно..
Реклама:

Последний раз редактировалось alec220; 06.07.2013 в 09:51.
alec220 вне форума  
Непрочитано 05.07.2013, 23:47  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

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

omercury ,спасибо за обстоятельный ответ с кодом))

Я только хочу заметить, что под термином "периферийный модуль" мы с Вами, видимо, понимаем не одно и то же.
Попробую привести несколько искусственный пример для АВР, если эта
платформа Вам ближе.
Модуль АЦП ATmega8x ATmega16x ATmega64x управляются регистрами, имеющими разные названия, находящимися по разным адресам и содержащими неодинаковые управляющие биты: ADCSR, ADCSRA,
ADCSRB. Если Вы поменяете один контроллер на другой, то, помимо простого переназначения адресов в заголовочных файлах Вы будете вынуждены изменить часть кода, относящуюся к настройке/функционированию АЦП.
Конечно можно воспользоваться библиотечными функциями, но поскольку модуль поменялся функционально, код всё равно придётся исправлять. И это в рамках одной платформы.

Если кому-то нужно перенести что-нибудь, использующее ADC, SPI, I2C с 16го пика на атмегу или наоборот, то программу, несмотря на то, что она на Си придётся переписывать почти заново.
Но это не займёт много времени, по сравнению с изучением другой архитектуры, если она не знакома.

По поводу использования готовых С библиотек и их качества у меня сложилось мнение, что своя функция обычно работает лучше и быстрее, чем написанная неким дядей для универсального использования(универсальные вещи обычно хуже специализированных)
ilyamp вне форума  
Непрочитано 05.07.2013, 23:54  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от tempora Посмотреть сообщение
А почему предлагаешь именно мне - мой стиль хромает?
Не тебе конечно.Извини если это выглядит как пинок тебе.
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 05.07.2013 в 23:56.
dosikus вне форума  
Непрочитано 05.07.2013, 23:55  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от tempora Посмотреть сообщение
...я помню, как в самом начале давал переменным однобуквенные имена, так как на печатание длинных и информативных уходило слишком много времени...
Я имел в виду не имена переменных а именно их типы
ilyamp вне форума  
Непрочитано 06.07.2013, 00:04  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от ilyamp Посмотреть сообщение
Если кому-то нужно перенести что-нибудь, использующее ADC, SPI, I2C с 16го пика на атмегу или наоборот, то программу, несмотря на то, что она на Си придётся переписывать почти заново.
Но это не займёт много времени, по сравнению с изучением другой архитектуры, если она не знакома.
А если изначально кодить модульно избегаем подобных проблем.
Например тот же SPI - нужно всего 2 функции :
Init и Write_spi . И не важно какие телодвижения в ней происходят на уровне железа .
Задача Write_spi передать и принять байт при 8ми битной посылке или 16бит.
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 06.07.2013, 00:09  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от ilyamp Посмотреть сообщение
Сообщение от tempora Посмотреть сообщение
Сообщение от ilyamp Посмотреть сообщение
уже сам не всегда помнишь их типы, когда исправляешь очередную функцию.
Это вопрос стиля, а не количества переменных.
Это ещё и вопрос затраченного времени
(тут был вопрос, куда ж столько времени-то уходит - не на длинные ли имена переменных)
Сообщение от ilyamp Посмотреть сообщение
Я имел в виду не имена переменных а именно их типы
Тогда это именно вопрос стиля - так как тип правильно названной переменной не приходится вспоминать.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 06.07.2013, 00:13  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от ilyamp Посмотреть сообщение
Я только хочу заметить, что под термином "периферийный модуль" мы с Вами, видимо, понимаем не одно и то же.
Судя по всему, мы понимаем под периферией именно одно и то же.
Если я оформлю настройку, включение/выключение, выбор канала того же АЦП в виде макроса (с параметрами или без - не суть важно), зачем мне лазать по телу программы и менять вызов этого макроса?
Я поменяю только содержимое этого макроса для другого ядра, в теле программы всё останется в том же виде.


Сообщение от dosikus Посмотреть сообщение
А если изначально
У, жук, опередил
omercury вне форума  
Непрочитано 06.07.2013, 00:26  
nahimovv
Заблокирован
 
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
nahimovv на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от ilyamp Посмотреть сообщение
Попробую привести несколько искусственный пример
А я приведу реальный.
Цитата:
Если кому-то нужно перенести что-нибудь, использующее ADC, SPI, I2C с 16го пика на атмегу или наоборот, то программу, несмотря на то, что она на Си придётся переписывать почти заново.
FatFs от Чена, SPI... есть необходимость всё переписывать заново?
nahimovv вне форума  
Сказали "Спасибо" nahimovv
dosikus (06.07.2013)
Непрочитано 06.07.2013, 01:08  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от omercury Посмотреть сообщение
Я поменяю только содержимое этого макроса для другого ядра, в теле программы всё останется в том же виде.
Содержимое макроса - тоже код

Сообщение от tempora Посмотреть сообщение
тип правильно названной переменной не приходится вспоминать
Согласен, стиль важен. Кроме стиля написания должен же быть ещё алгоритм.


Сообщение от dosikus Посмотреть сообщение
Например тот же SPI - нужно всего 2 функции :
Init и Write_spi . И не важно какие телодвижения в ней происходят на уровне железа .
Сами то эти функции всё равно переписывать

Вообще микроконтроллер, в отличие от компьютера, предназначен для управления именно на уровне железа, и "всплыть" на верхний уровень чистого стильного программирования, отрываясь от схемы, расчёта номиналов, расчёта временных диаграмм, частот, полос пропускания и т.п. - т.е. привязки к реальным условиям - никогда не удаётся. Вопрос стильности написания - важный, но далеко не едиственный
ilyamp вне форума  
Непрочитано 06.07.2013, 01:09  
ilyamp
Прописка
 
Регистрация: 29.08.2007
Адрес: Рязань
Сообщений: 203
Сказал спасибо: 54
Сказали Спасибо 19 раз(а) в 16 сообщении(ях)
ilyamp на пути к лучшему
По умолчанию Re: Оптимальный старт в программировании МК на С

Сообщение от nahimovv Посмотреть сообщение
FatFs от Чена, SPI... есть необходимость всё переписывать заново?
Простите, я не понял о чём тут...
ilyamp вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальный лазерник для ЛУТ Kabron Делимся опытом 187 31.05.2016 10:51
Оптимальный привод тележки весом 200кг d-f-m Производственное оборудование 18 12.07.2010 00:29
[Решено] Оптимальный коттеджный домофон LAVR12 Автоматика и аппаратура связи 0 22.04.2010 20:17
О программировании AVR на C++ neiver Микроконтроллеры, АЦП, память и т.д 55 24.03.2010 19:33
Оптимальный ламинатор для ЛУТ snakesoft Делимся опытом 7 13.01.2010 22:41


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


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