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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 22.04.2014, 17:06  
day177
Прописка
 
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
day177 на пути к лучшему
По умолчанию Разобрать Arduino код

Нужно переписать Ардуино код на Си. Прошу помощи специалистов. Вопросы будут по частям, дабы не осложнять ситуацию. Вот первый кусок:

PHP код:
Si4703_Breakout::Si4703_Breakout(int resetPinint sdioPinint sclkPin)
{
  
_resetPin resetPin;
  
_sdioPin sdioPin;
  
_sclkPin sclkPin;

Что значит этот код? Что за двойные двоеточия, нижние подчеркивания перед переменными?
Реклама:
day177 вне форума  
Непрочитано 22.04.2014, 17:52  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Разобрать Arduino код

Двойные двоеточия - способ записи функций в классе в языке С++.

Данный фрагмент - это конструктор класса Si4703_Breakout. Проще говоря, это способ записать в переменные _resetPin, _sdioPin и _sclkPin их фактические значения, которые будут использоваться в программе. То есть номера ног Ардуины для управления Si4703.

Подчёркивания перед именем - для обозначения, что эти переменные используются классом, и программист не должен ими напрямую управлять. Вы, кстати, тоже можете использовать подчёркивания для своих переменных, нет проблем.

То есть создали класс, установили номера ног и забыли про переменные _resetPin, _sdioPin и _sclkPin. Теперь для общения с чипом используем только функции класса. Например, вызываем setChannel(). В этой функции уже ранее установленные номера пинов дрыгаются для общения и обмена информацией.
Yurkin2014 вне форума  
Непрочитано 22.04.2014, 18:41  
day177
Прописка
 
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
day177 на пути к лучшему
По умолчанию Re: Разобрать Arduino код

Yurkin2014, спасибо вам большое. А вы случаем не знакомы с этой si4703?
day177 вне форума  
Непрочитано 22.04.2014, 18:51  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Разобрать Arduino код

Впервые слышу.
Вот тут у доктора Монка есть пример использования
Yurkin2014 вне форума  
Непрочитано 22.04.2014, 19:19  
day177
Прописка
 
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
day177 на пути к лучшему
По умолчанию Re: Разобрать Arduino код

Да, там на ардуине весь проект. Мне его надо на Си переделать.
day177 вне форума  
Непрочитано 22.04.2014, 20:54  
Yurkin2014
Заблокирован
 
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
Yurkin2014 на пути к лучшему
По умолчанию Re: Разобрать Arduino код

Сообщение от day177 Посмотреть сообщение
Мне его надо на Си переделать.
Ну, это несложно. Там уже всё написано на Си.
Открываете файл Si4703_Breakout.cpp и выкидываете все упоминания об классе "Si4703_Breakout::", заменяете на "My". Получаете набор функций
Цитата:
void MySetChannel(int channel);
void MySetVolume(int volume);
void MyReadRDS(char* buffer, long timeout)
и т.д.
которые можно использовать в своей программе. Единственно, надо будет переписать Ардуиновские функции Wire.XXX. Тут уже сами пишите свои функции для работы с I2C в зависимости от используемого прцессора.
Потом берёте за основу, например, др.Монка и заменяете функции на исправленные.
Вот и всё.
Yurkin2014 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RFID на Arduino с использованием Parallax RFID reader/writer IvanPuzirev Микроконтроллеры, АЦП, память и т.д 13 22.04.2014 20:57
Проблема с Arduino Motor Shield domka Песочница (вопросы новичков) 6 29.07.2013 11:56


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


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