Comments (6)
Could you post the entire sketch code so that I can investigate it deeper?
from duetimer.
I did some changes but I still get unexpected behavior. messageTest
is called 1000/s. handler
is not called at all.
#include <CmdMessenger.h>
#include <DueTimer.h>
CmdMessenger cmdMessenger = CmdMessenger(Serial);
enum
{
kSetFreq , // Command to request led to be set in specific state
kStatus , // Command to report status
};
// Attached callbacks
void attachCommandCallbacks()
{
}
void setup() {
// DAC resolution in bits
analogWriteResolution(12);
// Start serial
Serial.begin(9600);
cmdMessenger.printLfCr();
// Timer
Timer.getAvailable().attachInterrupt(messageTest).start(10);
Timer.getAvailable().attachInterrupt(handler).start(1000);
cmdMessenger.sendCmd(kStatus,"Ready.");
}
void messageTest() {
cmdMessenger.sendCmd(kStatus, (int)1);
}
// Generator function
inline double f(float t) {
double r, w;
w = TWO_PI * 1.3;
r = 1.8 + sin(w * t) + 0.8 * sin(2*w*t) + 0.4 * sin(3*w*t);
return r;
}
void handler() {
static double t = 0.;
t += 0.001;
//Serial.println((int) (2000. * f(t)));
analogWrite(DAC0, (int) (1000. * f(t)));
}
void loop() {
// Process incoming serial data, and perform callbacks
cmdMessenger.feedinSerialData();
}
from duetimer.
Oh, now I see ^^
Notice that the start(microsseconds = -1)
uses "microseconds" as parameter, not the frequency. If you want to set the frequency instead, try something like this:
Timer.getAvailable().setFrequency(10).attachInterrupt(handler).start();
The reason why (what I think) 10microseconds didn't worked, is because it's too fast for the Due, but I'm not shure.
from duetimer.
My bad. Muito obrigado!
from duetimer.
De nada =]
Did it worked?
from duetimer.
Didn't try to be honest. I was just using the second timer for debugging so I found another way.
Might come in very handy in the future though! Great library, thanks a lot!!
from duetimer.
Related Issues (20)
- precise timing HOT 2
- Reading the current counter value
- PWM , hardware generating HOT 1
- Calling setFrequency() with timer active causes callback to stop running HOT 2
- compatibility to Arduino-FreqPeriod-Due-master
- Callbacks HOT 1
- Support for PLL functionality?
- DueTImer and serialUSB HOT 2
- Could you give us a sample code ?
- DueTimer for Nano
- 6 PWM 1Mhz HOT 1
- Change timer value on the fly HOT 7
- about getFrequency(); And getPeriod();
- about getperiod();
- TC_FindMckDivisor
- How can I create a class with its own timer HOT 1
- Multiple Timers Hanging HOT 3
- Setting a very low frequency
- DueTimer and interrupt priority
- move calc of _frequency[timer] to getFrequency()
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from duetimer.