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

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

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

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

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

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


 
Опции темы

Пишем свое API

Непрочитано 18.05.2016, 12:22  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Пишем свое API

Наверное просто данный случай весъма запущеный, спорить не о чем. Если сделать по уму, то аппаратура во всём выиграет по сравнению с ногодрыгом.
Реклама:
cogen вне форума  
Непрочитано 18.05.2016, 12:43  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от cogen Посмотреть сообщение
Наверное просто данный случай весъма запущеный
И2Ц сам по себе унылый и запущенный.
Сообщение от cogen Посмотреть сообщение
Если сделать по уму, то аппаратура во всём выиграет по сравнению с ногодрыгом.
Не в случае с И2Ц. Это у вас от недостатка знаний по железу. Железо разных производителей пестрит ерратами и костылями по И2Ц. Протокол не сильно шустрый, объёмы невелики, поэтому в сложившейся ситуации, для мастера, ногодрыжный вариант будет в большинстве случаев нормальным решением. Для слэйва, конечно, наилучшим будет хардварное решение.
STM32F0 вне форума  
Непрочитано 18.05.2016, 13:10  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Пишем свое API

Шина как шина, простейший протокол, синхронная альтернатива UART/MODBUS
Я конечно не опытный практик, измученный нарзаном, поэтому наивно полагаю что как-нибудь железо работает. Конечно, если оно теряет прерывания по приему байта, то толку в нем нет, но наверняка в следующей ревизии это чинят. Расскажите конкретнее про грабли - где и какие.
Объемы бывают и большие, скажем килобайтный буфер сенсора. Дрыгать пином вдобавок к другим задачам - не слишком ли накладно?
cogen вне форума  
Непрочитано 18.05.2016, 13:45  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

Кстати, касательно I2C master на STM, оно отлично работает на прерываниях и DMA. Все легко, интуитивно понятно и как-то не вызывает проблем. А вот методом ожидания флагов... короче, килобайтные посылки разумнее делать на прерываниях. А мелкие пачки лучше гонять ногодрыгом. Хотя если пользовать RTOS, наплевать и на ногодрыг с килобайтами.
Easyrider83 вне форума  
Непрочитано 22.05.2016, 00:04  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

Фильтр Калмана. Еще не тестировал.
Код:
void KalmanFloatCalc (KalmanFloatTypeDefStruct * KalmanFloatStruct)
{
  KalmanFloatStruct-›Result = KalmanFloatStruct-›K * KalmanFloatStruct-›Value;
  KalmanFloatStruct-›Value = 1.0 - KalmanFloatStruct-›K;
  KalmanFloatStruct-›Previous *= KalmanFloatStruct-›Value;
  KalmanFloatStruct-›Result += KalmanFloatStruct-›Previous;
  KalmanFloatStruct-›Previous = KalmanFloatStruct-›Result;
}
Код:
typedef struct
{
  float Result;                 //результирующее значение
  float Value;                  //исходное значение
  float Previous;               //результат вычисления в предыдущей интерации
  float K;                      //коэффициент стабилизации, по-умолчанию = 0.1
}KalmanFloatTypeDefStruct;
Взято отсюда.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
akegor (22.05.2016)
Непрочитано 22.05.2016, 00:11  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от cogen Посмотреть сообщение
синхронная альтернатива UART/MODBUS
никуя се альтернатива! внутриплатная и межобъектная - разница, как хер с пальцем! а MODBUS вообще за "уй притянут сюда, это программная реализация над аппаратным решением
jump вне форума  
Непрочитано 22.05.2016, 01:23  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Пишем свое API

i2c ногодрыгом тоже чисто программная реализация, и что? и ниразу не внутриплатная, в текущем проекте несколько отдельных плат на ней висят, а в одном предыдущем проекте - наоборот, два контроллера на одной плате по UART на 1Мбит общались. Некоторые извращенцы и на 100 метров i2c используют тыц.
С другой стороны, здесь сказано: This optional MODBUS on Serial Line system should only be used for short length ( typically less than 20m ) point to point interconnection.
Шину можно даже без согласователей сделать, тот же STM32 имеет возможность переключать вывод TX в конфигурацию с открытым стоком.

Последний раз редактировалось cogen; 22.05.2016 в 01:28.
cogen вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
свое USB устройство ESWANT Микроконтроллеры, АЦП, память и т.д 2 08.09.2009 14:58


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.