Hejsan .. Jag behöver lite hjälp med att lösa ett C problem jag har. Jag pular med en liten trådlös styrning till en teleskopfokusering.
Jag utgår ifrån 2st Arduino UNO kort och Sändare/Mottagare typ ASK XY-MK-5V, Jag har laddat ner "RadioHead" RH_ASK drivrutiner från http://airspayce.com/mikem/arduino/RadioHead/index.html.
Det fungerar över förväntat direkt utan strul att skicka styrkommandon mellan korten. Kruxet är att det är >15 år sedan jag hackade i C-kod senast
Hur får jag ut mottagna kommandon från driver.recv(buf, &buflen) så jag kan avkoda dom och använda dom till att styra tex. en stegmotor ????
Tex jag skickar från sändarkortet FIN eller FOUT eller SIN eller SOUT
Se kod nedan.
// ask_receiver.pde
// -*- mode: C++ -*-
// Simple example of how to use RadioHead to receive messages
// with a simple ASK transmitter in a very simple way.
// Implements a simplex (one-way) receiver with an Rx-B1 module
#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile
RH_ASK driver;
void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}
void loop()
{
uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // Non-blocking
{
int i;
// Message with a good checksum received, dump it.
driver.printBuffer("Got:", buf, buflen);
}
}
Arduino Trådlös styrning
-
- Inlägg: 3
- Blev medlem: 19 november 2015, 15:47:58
Re: Arduino Trådlös styrning
Välkommen hit!
Med reservation för att jag missförstår frågeställningen,
buf kommer att peka på det första mottagna tecknet och buflen är längden av det mottagna.
ex.
du skickar/tar emot:
frasse
buf kommer att peka på f:et i frasse och buflen kommer vara 6
klassen finns ju ganska bra dokumenterad
http://airspayce.com/mikem/arduino/Radi ... __ASK.html
Om det inta var det du undrade får du nog förklara lite mer vad du vill göra.
Med reservation för att jag missförstår frågeställningen,
buf kommer att peka på det första mottagna tecknet och buflen är längden av det mottagna.
ex.
du skickar/tar emot:
frasse
buf kommer att peka på f:et i frasse och buflen kommer vara 6
klassen finns ju ganska bra dokumenterad
http://airspayce.com/mikem/arduino/Radi ... __ASK.html
Om det inta var det du undrade får du nog förklara lite mer vad du vill göra.
-
- Inlägg: 3
- Blev medlem: 19 november 2015, 15:47:58
Re: Arduino Trådlös styrning
Hejsan .
Tack för svar.. Jag har svårt att få kläm hur det skall skrivas ihop. Jag får inte ut annat än 0000.... ur buf efter konvertering till int.
Om jag tex skickar "DDEE" så får jag ut i hex driver.printBuffer("Got:", buf, buflen); 44 44 45 45 ..
Men försöker jag tilldela KeycharMsg och konvertera till int så får jag inte till det.
for (i = 0; i < buflen; i++)
{
KeycharMsg = char(buf);
}
KeycharMsg[buflen] = '\0';
KeyData = atoi(KeycharMsg);
Tack för svar.. Jag har svårt att få kläm hur det skall skrivas ihop. Jag får inte ut annat än 0000.... ur buf efter konvertering till int.
Om jag tex skickar "DDEE" så får jag ut i hex driver.printBuffer("Got:", buf, buflen); 44 44 45 45 ..
Men försöker jag tilldela KeycharMsg och konvertera till int så får jag inte till det.
for (i = 0; i < buflen; i++)
{
KeycharMsg = char(buf);
}
KeycharMsg[buflen] = '\0';
KeyData = atoi(KeycharMsg);
-
- Inlägg: 3
- Blev medlem: 19 november 2015, 15:47:58
Re: Arduino Trådlös styrning
Hej igen .
Nu fungerar det som planerat... Det har varit lite för mycket hårdvaruutveckling senaste 15 åren för mej..
Det är kul med embedded C programmering när man får det att fungera. Hehe
Nu fungerar det som planerat... Det har varit lite för mycket hårdvaruutveckling senaste 15 åren för mej..
Det är kul med embedded C programmering när man får det att fungera. Hehe