i'd like to put the SAM3X chip on sleepmode until a character arrives on the serial port. i was thinking of using an ausiliary flag in the Serial interrupt procedure in order to trigger the wake up procedure? what do you think abou? any advice or any other way i should follow or try?
Arduino DUE, Serial interrupt procedure to wakeup from sleep mode
3.8k Views Asked by user3146098 At
1
There are 1 best solutions below
Related Questions in SERIAL-PORT
- C# PCI Express Serial Port
- USB to Serial, Port Name Changing Unexpectedly
- Connecting a USB serial device to the Arduino directly
- Sending gcode string to 3D printer through a serial port
- Raspberry PI USB to RS232 adapter Receiving Only Ctrl Chars
- Read and write data multiple times on a serial port with a single click
- Processing in Java Serial object Null Pointer Exception
- Why can't I open/write from a serial port on Android?
- fconfigure refuses to set baud rate to 921600
- Multiple objects containing SerialPort with same SerialDataReceivedEventHandler
- Nodejs send data to Arduino using serial
- PHP dio_read taking taking 1 minute to execute each task
- Serial Port Write Echo
- Linux Shell, How to send a command over Serial port and return?
- Turning Textbox Red with a timer when serial port stops outputting data
Related Questions in ARDUINO
- arduino find text in webpage
- Arduino serial works fine with Debian but hangs with Raspbian
- Need help getting value from html slider on yun to arduino value
- Arduino RPM Detection
- How do you do forward declarations in arduino code?
- ESP8266 and Arduino Interfacing
- Async HTTP Request and Arduino
- Arduino NearBus NearbusEther_v16.h: No such file or directory
- Arduino data type confusion. Have string, need const char?
- Connecting a USB serial device to the Arduino directly
- C++ how do i show ledstatus as on or off in the Client?
- Arduino RFID (Wiegand) Continuous reading
- Android Phone not sending data over TCP/ip
- nRF24 - data received but not whole message
- Trouble interfacing/communicating between Arduino Block and Intel Edison
Related Questions in SLEEP
- Delphi and sleep function
- Clear labels, Images in WatchKit after didDeactivate (Glance and InterfaceController)
- Php schedule run a function after 10 minutes
- How to change the delay of sleep/timer thread in android during runtime?
- Compile error on linux (a simple demo code on concept of pipe)
- Timeout handle email php
- Running delayed jobs in loop
- Explain behavior of Unix sleep() function executed on Android
- Sleep Shiny WebApp to let it refresh... Any alternative?
- Will process lost wake-up chance in a preemptive kernel?
- Does sleep/nanosleep work by utilizing a busy wait scheme?
- Python time.sleep on line 2 happens before line 1
- VBS - How to pause a script until a key is pressed?
- How to keep track of time in python without sleeping?
- Sleeping the time difference
Related Questions in INTERRUPT
- Arduino RPM Detection
- Interrupting long working thread
- How to set privilaged mode in ARM Cortex-A8?
- TechWell TW6869 driver does not generate interrupts on embedded device
- Using class member function pointers in C++ for Arduino
- What's the shortcut to interrupt the kernel in Canopy?
- How to interrupt a thread with infinite loop and sleep in Java
- Why page fault is considered as trap
- externally ending infinite loop java
- DB2 SQLSTATE = 57014 error
- Using Thread.currentThread().isInterrupted() with Thread.sleep()
- Canceling a long-running function using an ISR
- TelosB GPIO interrupts in Contiki
- Interrupts for Data Ready pin
- How exactly do I interrupt a thread?
Related Questions in WAKEUP
- Wake-up PIC with USART RX
- How the set RTC as wake up source and set a specific time on all the days using sys file system
- How to test iPhone wake up code?
- How do I create an Activity that is visible on top of the lock screen
- How to programmatically schedule system wake up using system preferences on a Mac?
- Why can't wake up this thread
- Heroku Dyno inexplicably down?
- Android - How to wake up wifi?
- AlarmManager vs wake up
- Arduino DUE, Serial interrupt procedure to wakeup from sleep mode
- AlarmManager vs Service for db and FTP connection. Which and how to use?
- The problem of waking up existing threads in the ThreadPool
- Psoc Cypress Capsense to Wake Up Sleep Mode
- Monodroid: wake application
- are there reasons for sun.nio.ch.WindowsSelectorImpl.setWakeupSocket0 to hang
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
I recommend reviewing .\arduino-1.5.2\hardware\arduino\sam\cores\arduino\UARTClass.cpp as its UARTClass::begin will detail how the Arduino Framework initializes the SAM's Serial IRQ with:
Where you will need to ensure the baud rate generator is not stopped while in sleepmode.
Along with reading the SAM3X data sheet starting with 5.5.3. which leaves the peripheral clocks enabled.
looks like you may be able to insert the wake up into the UARTClass::IrqHandler
With regards to sleeping: \arduino-1.5.2\hardware\arduino\sam\system\libsam\source\pmc.c
So I would suspect the following:
would put the unit a sleep and the IrqHandler of the UART_SR_RXRDY would wake itself up, without any code change.
One other alternative would be to use the serial pin's IO as to trigger an interrupt.
It would though, loose at least the first byte. the trade off is that you can use the lower power modem of pmc_enable_backupmode() rather than sleep