#1 2018-09-09 20:42:24

tsar_
Участник
Зарегистрирован: 2018-09-09
Сообщений: 3

Грамотно создать класс, который использует общие ресурсы

Доброго времени суток.
Столкнулся с таким спортивным вопросом, когда понадобилось в проект добавить дисплей на ST7920 и АЦП на AD7705, обе железяки используют SPI. Имеющиеся библиотеки для этих железяк не использовал (u8glib слишком монструозная, AD770x не работает). В итоге написал все, что нужно, ручками, с использованием только стандартной библиотеки SPI.
На основе этих наработок хочется создать свои библиотеки классов для каждой железяки или один класс на две железяки сразу, но, поскольку они пользуются общим SPI, не знаю, как это грамотно сделать.
Как правильно описать использование SPI в *.h и *.cpp файлах?

#2 2018-09-09 21:07:45

Вячеслав Азаров
Участник
Зарегистрирован: 2017-05-25
Сообщений: 1,462

Re: Грамотно создать класс, который использует общие ресурсы

В однозадачной среде никаких ухищрений, типа арбитра доступа к SPI,  не нужно, если задача АЦП не требует когерентных выборок. Разумнее было бы два класса.

#3 2018-09-09 21:11:49

tsar_
Участник
Зарегистрирован: 2018-09-09
Сообщений: 3

Re: Грамотно создать класс, который использует общие ресурсы

Было бы удобнее два класса, да.
А в каком месте (файле) выполнять инициализацию SPI? Имею ввиду SPI.begin()

#4 2018-09-09 22:05:17

Вячеслав Азаров
Участник
Зарегистрирован: 2017-05-25
Сообщений: 1,462

Re: Грамотно создать класс, который использует общие ресурсы

В setup-е.

#5 2018-09-09 22:20:11

tsar_
Участник
Зарегистрирован: 2018-09-09
Сообщений: 3

Re: Грамотно создать класс, который использует общие ресурсы

Буду попробовать, если что - сюда.

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела