Go Down

Topic: ATSAMD21G without external clock? (Read 680 times) previous topic - next topic

jgilbert20

I'm interested in building a I2C peripheral device build around the ATSAMD21G and looking for guidance on how to make it operate from its own internal clock.

I am aware this could cause jitter and other potential issues, but in my application I think this could be largely managed by the relatively slow speed of communication (I2C in slave mode).

I cannot find any examples of doing this with the ArduinoCore. Can someone point me at a decent tutorial or code/project example? Have tried the usual google searches.

AloyseTech

There's no Arduino Core that use the internal clock AFAIK. I would try the I2C slave example from AS7 if I were you. AS program can be easily configured to run with the internal clock.

jgilbert20

Thanks for the tip. I did just try this and seem to be able to get it running. However, my I2C slaves would ideally be leveraging some of the available libraries in Arduino? Are there wrappers or shims you can get that give easy access to some of the Arduino Core from within AS7?

AloyseTech

Well, usually libraries depends on the ArduinoCore only for specific function. If you identify these functions, you could rewrite them to use the ASF core.
There is no solution out of the box AFAIK...

jgilbert20

An update: I've found that recent checkins to the ArduinoCore for the CircuitPlayground Express, a forthcoming Adafruit board, have a -DCLOCKLESS option which apparently configures a SAMD21 without an external clock.

I still haven't gotten this to work yet, but I am in the early stages of messing around with it.

Jeremy

Go Up