Официальный сайт компании Arduino по адресу arduino.cc
Разработка библиотеки
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 31/10/2020 - 20:20
Здравствуйте.
Хочу вынести функции обработки команд оn модуля SIM800 в отдельную библиотеку
#include <SoftwareSerial.h> #include <Sim800L.h> SoftwareSerial SIM800(9,10);// RX, TX void setup() { SIM800.begin(19200); Serial.begin(19200); Serial.println("Zagruzka"); } void loop() { if(SIM800.available()) Sim800L Otvet(SIM800.readString()); }
/* Sim800L.h - Заголовочный файл */ #ifndef _Sim800L_H_ #define _Sim800L_H_ #include <Arduino.h> class Sim800L { public: Sim800L(String Otvet); }; #endif
/* Sim800L.cpp - Файл реализации */ #include "Sim800L.h" Sim800L::Sim800L(String Otvet) { Otvet.trim(); Serial.println("Otvet: "+Otvet); }
Верна ли логика?
Нет. Правильная логика - взять готовую библиотеку, а свое время потратить продуктивно.
Какую готовую? У меня свои функции в библиотеке будут.
Меня интересует логика работы библиотеки, разработка библиотеки
Наверно должно быть так:
SoftwareSerial SimPort(9, 10); // RX, TX
SIM800 mySim(SimPort);
Примитивненько, но работает
http://arduino.ru/forum/apparatnye-voprosy/vse-o-sim800l-i-vse-chto-s-ni...
а я по моему по твоей подсказке в допиленный SomeSerial CustomSoftwareSerial обернул, надо было обязательно выставить 8N2 для порта, работает как швейцарские часы, даже на одно прерывание с портом энкодер повесил для экспериментов
ЗЫ Иринка, иди мужу рогалики пеки, основа библиотеки уже есть, даже больше, на сегодня план выполнен )))
Спасибо, Буду разбираться.
Это не к логике, но всё-таки, вместо
пишите
Намного лучше в данном случае.
Спасибо, Буду разбираться.
а даташитом каким на модуль пользуетесь, из подвернувшихся не увидел ничего по работе с компортом, а там он физически полный