Библиотека для настройки EndDevice Loramesh GPIO PINS, запрашивая и отправляя данные из/на узлы. Это было основано на следующей библиотеке радиоемени
Загрузите все файлы из этого корня и включите их в свой проект. Этот шаг обязателен использовать их с помощью платы Discovery STM8L и вашей «стандартной периферийной библиотеки».
Поскольку STM8L152C6T6 имеет только один интерфейс USART, а модуль Loramesh имеет два, выбор, который будет использоваться интерфейс, будет выполняться через аппаратное соединение. Можно выбрать два способа настройки USART: использование по умолчанию Arduino или использование ручных конфигураций. Режим по умолчанию Arduino хорошо работает с модулем сетки Lora. Для ручных конфигураций вы можете использовать типы, определенные в «STM8L15X_USART», предоставленные ST.
//Easy way
uint32_t baudrate = 9600 ;
ArduinoSerialCommandsInit ( baudrate );
//Manual
/* USART configured as follow:
- BaudRate = 9600 baud
- Word Length = 8 Bits
- One Stop Bit
- No parity
*/
SerialCommandsInit ( 9600 , USART_WordLength_8b , USART_StopBits_1 , USART_Parity_No );Основные функции библиотеки основаны на функциях для запроса и отправки данных, используя булавки, подключенные к другим сетевым модулям.
/* GpioConfig */
GpioConfig ( NODEID , PIN , GPIOMODE , PULL_R_TYPE );
/* GpioWrite */
GpioWrite ( NODEID , PIN , ValueForWrite );
/* GpioRead */
GpioRead ( NODEID , PIN , & ReturnedValue );Настройте контакты GPIO с помощью следующих режимов:
/* DIGITAL_IN */
GpioConfig ( NODEID , PIN , DIGITAL_IN , PULL_R_TYPE );
/* DIGITAL_OUT */
GpioConfig ( NODEID , PIN , DIGITAL_OUT , PULL_R_TYPE );
/* ANALOG_IN */
GpioConfig ( NODEID , PIN , ANALOG_IN , PULL_R_TYPE );Настройте резисторы тяги следующими типами
/* PULL_OFF */
GpioConfig ( NODEID , PIN , DIGITAL_IN , PULL_OFF );
/* PULLUP */
GpioConfig ( NODEID , PIN , DIGITAL_OUT , PULLUP );
/* PULLDOWN */
GpioConfig ( NODEID , PIN , ANALOG_IN , PULLDOWN );Возврат запроса данных дается следующим статусом, чтобы указать ошибку или нет:
/* MESH_OK */
while ( LocalRead ( & localId , & localNet , & localUniqueId ) != MESH_OK );
/* MESH_ERROR */
if ( GpioRead ( NODEID , PIN , & ReturnedValue ) == MESH_ERROR ){
//Invalid value
}Пример кода может быть загружен из этого корня после инструкций.
Описание полной документации здесь.
Прочитайте это руководство.
@VJPamorim | @Radioenge |
|---|
@Marcoaoc |
|---|
Вам нравится эта библиотека? Пожалуйста, снимайте этот проект на GitHub!