Für ein einfaches Projekt möchte ich einen ATTiny85 verwenden, der mit einem HC-06 Bluetooth Modul verbunden ist, so dass er mit meinem Android Telefon sprechen kann.ATTiny85 Serielle Kommunikation mit Bluetooth Modul
Ich schrieb Code für mein Arduino Uno und es funktionierte wie erwartet. Als ich den Code änderte, um auf meinem ATTiny85 zu verwenden, bekam ich einen Fehler, der 'Serial' was not declared in this scope
sagt und angenommen, dass der ATTiny Hardware Serial nicht unterstützt.
Ich muss eine Zeichenfolge lesen, wenn empfangen und die MCU schlafen, wenn nicht empfangen. Ich habe SoftwareSerial benutzt und konnte keinen String bekommen, nur den ersten Char.
Ich näherte es in gewisser Weise, wie eine char string[10];
als globale und string[i] = mySerial.read(); i++;
innerhalb der Schleife definieren, aber es funktioniert nicht. Ob es der Schlaf oder meine Arbeit ist, Daten zu lesen, ich konnte es nicht zum Laufen bringen.
Kann jemand eine Möglichkeit bieten, einen ATTiny85 in den Schlaf zu versetzen, aufzuwachen, um einen String über Serial zu erhalten und bis die nächsten Daten durch die serielle, bitte?
schlafen Ich bin mit
void sleep() {
GIMSK |= _BV(PCIE); // Enable Pin Change Interrupts
PCMSK |= _BV(PCINT3); // Use PB3 as interrupt pin
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable(); // Sets the Sleep Enable bit in the MCUCR Register (SE BIT)
sei(); // Enable interrupts
sleep_cpu(); // sleep
// woke up
cli(); // Disable interrupts
PCMSK &= ~_BV(PCINT3); // Turn off PB3 as interrupt pin
sleep_disable(); // Clear Sleep Enable bit
sei(); // Enable interrupts
}
ISR(PCINT3_vect) {
}
Und meine Schleife ist so etwas wie
char inputString[10];
int i = 0;
void loop() {
sleep();
if (serial.available() > 0) {
char inputChar = serial.read();
if (inputChar == '2') { //Char to break
//Do something and reset i
} else {
inputString[i] = inputChar;
}
i++;
}
}
Vielen Dank an alle.