Bluno Beetle mit CC2540 - Low Power?

OP #6205830
Lesenswert?
• ▲
▼
Hallo,

ich habe folgende Frage: Ich habe diesen sehr kleinen 
Arduino([[https://www.dfrobot.com/product-1259.html]]) bestellt, welcher 
mit einem CC2540 von Texas Instruments ausgestattet ist.
Ich würde ihn gerne bei einem Batterie-Projekt benutzen und der 
Stromverbrauch soll somit möglichsz gering sein, alle möglichen 
Maßnahmen beim Atmega 328, welcher verbaut ist, habe ich bereits 
getroffen jedoch ist der Stromverbauch immernoch relativ hoch. Auf der 
Seite von Texas Instruments steht, dass der CC2540 im activer mode 10mA 
verbraucht.
Das kann mit Low power modes bis in den muA Bereich reduziert 
werden.([[http://www.ti.com/product/CC2540]]).

Nun meine Frage, wie kann ich den Power Mode ändern? Bisher habe ich den 
Arduino in der Arduino IDE programmiert. Anbei finden Sie den Code und 
das Datenblatt des Arduinos.
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
#include <avr/power.h>
4
#include <avr/sleep.h>
5
#include <avr/wdt.h>
6

7
#define BUZZER 4
8

9
volatile const int ping = 0xA1;
10
volatile const int mute = 0xB1;
11
volatile int counter = 0;
12

13
void setup() {
14
  cli();                           // disable interrupts during setup
15
  Serial.begin( 115200 );
16
  pinMode(BUZZER, OUTPUT);
17
  EIMSK |= (1 << INT0);            // Enable external interrupt port zero (switch)
18
  EICRA = ISC10;                   // Logical change generates external interrupts
19
  power_adc_disable(); // ADC converter
20
  power_spi_disable(); // SPI
21
  power_timer1_disable();// Timer 1
22
  power_timer2_disable();// Timer 2
23
  power_twi_disable(); // TWI (I2C)
24
  wdt_disable();
25
  sei();
26
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
27
  sleep_enable();
28
  sleep_cpu();
29
}
30

31
void loop() {
32
  checkSerial();
33
}
34

35
void checkSerial() {
36
  if (Serial.available()) {
37
    byte b = Serial.read();
38
    Serial.flush();
39
    if (b == ping) {
40
      digitalWrite(BUZZER, HIGH);
41
    }
42
    if (b == mute) {
43
      digitalWrite(BUZZER, LOW);
44
    }
45
    set_sleep_mode(SLEEP_MODE_PWR_SAVE);
46
    sleep_enable();
47
    sleep_cpu();
48
  }
49
}
50

51
ISR(INT0_vect) { // waking up the processor
52
}
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.