Есть такие модули:
https://drive.google.com/file/d/1wV1At9rJcVUQEyCPcBJwIaCk6AwXtw_q/view?usp=sharing
или
http://docs.voltbro.ru/gorocket/devices/sv610_Datasheet.pdf
Примеров для ArduinoIDE для них нет.
Как передать и принять данные вроде понятно, НО как зашить в них настройки не понятно.
К этим радиомодулям идет программка и USB преобразователь, через который можно вбить настройки с ПК.
Но нам необходимо менять канал в полевых условиях (по условию соревнований). Модуль уже будет впаян.
В даташите есть описание команд, при подтяжке разъема S к земле, команда отправляется в Serial и назад приходит ответ типа Ок или Ошибка.
Примеры из даташита:
Command : Read module name and version:
Instruction format: AA FA AA
Return value is:“SV610_VERx.x\r\n”
For example:
Instruction: AA FA AA
Return: SV610_Ver4.6 \r\n.
Command: Set the group parameters
Length of the command is 17 bytes, set 14 bytes of the parameters into the module, and format as follows:
Instruction format: AA FA 03 RF Channel / RF Band / RF Rate / RF Power / Serial transmission date
/ data bits / stop bits / parity / NET ID / NODE ID
The return is: "OK \ r \ n" or "ERROR \ r \ n"
Подскажите пожалуйста как это записать в коде. Как отправить эти 17 байт настроек и прочитать ответ.
Вот что я сам написал, но это явно дичь, знакомый говорит ответы надо парсить, а как это делать я не знаю. и он не знает, потому, что из под ассемблера программирует, и не знает С++.
Пожалуйста помогите.
https://drive.google.com/file/d/1wV1At9rJcVUQEyCPcBJwIaCk6AwXtw_q/view?usp=sharing
или
http://docs.voltbro.ru/gorocket/devices/sv610_Datasheet.pdf
Примеров для ArduinoIDE для них нет.
Как передать и принять данные вроде понятно, НО как зашить в них настройки не понятно.
К этим радиомодулям идет программка и USB преобразователь, через который можно вбить настройки с ПК.
Но нам необходимо менять канал в полевых условиях (по условию соревнований). Модуль уже будет впаян.
В даташите есть описание команд, при подтяжке разъема S к земле, команда отправляется в Serial и назад приходит ответ типа Ок или Ошибка.
Примеры из даташита:
Command : Read module name and version:
Instruction format: AA FA AA
Return value is:“SV610_VERx.x\r\n”
For example:
Instruction: AA FA AA
Return: SV610_Ver4.6 \r\n.
Command: Set the group parameters
Length of the command is 17 bytes, set 14 bytes of the parameters into the module, and format as follows:
Instruction format: AA FA 03 RF Channel / RF Band / RF Rate / RF Power / Serial transmission date
/ data bits / stop bits / parity / NET ID / NODE ID
The return is: "OK \ r \ n" or "ERROR \ r \ n"
Подскажите пожалуйста как это записать в коде. Как отправить эти 17 байт настроек и прочитать ответ.
Вот что я сам написал, но это явно дичь, знакомый говорит ответы надо парсить, а как это делать я не знаю. и он не знает, потому, что из под ассемблера программирует, и не знает С++.
Пожалуйста помогите.
Setup SV610:
#define Set 3
#define СS 4
byte setGrouParam[17]{AA,FA,03,14,01,01,07,03,02,01,01};
char nameVersion ;
char setParam ;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // Инициируем аппаратный последовательный порт
Serial1.begin(9600); // Инициируем программный последовательный порт
pinMode(CS, OUTPUT); // Переводим вывод CS модуля в режим выход
digitalWrite(CS, HIGH); // Назначаем выводу уровень логической единицы - включаем модуль
delay(3000);
pinMode(Set, OUTPUT); // Переводим вывод S модуля в режим выход
digitalWrite(S, LOW); // Назначаем выводу уровень логического нуля
delay(2000);
nameVersion = Serial1.write(AA FA AA);
delay(100);
Serial.write(nameVersion);
Serial.write('\n');
setParam = Serial1.write(setGrouParam,sizeof(setGrouParam)); //передаем настроечные байты из массива в Serial
delay(100);
Serial.print("Set the group parameters is ---");
Serial.write(setParam);
}
void loop() {
// put your main code here, to run repeatedly:
}