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

tsar_
Учасник
Зареєстрований: 2018-09-09
Повідомлень: 8

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

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

Неактивний

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

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

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

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

Неактивний

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

tsar_
Учасник
Зареєстрований: 2018-09-09
Повідомлень: 8

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

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

Неактивний

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

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

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

В setup-е.

Неактивний

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

tsar_
Учасник
Зареєстрований: 2018-09-09
Повідомлень: 8

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

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

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму