Hi, I'm working on a project that need to generate a 10MHZ and PPS signals,buts with phase sync. I accomplish to generate both signals, but cant make it sync.
This sis my code:
#include <Arduino.h>
#include <eFlexPwm.h>
using namespace eFlex;
const uint8_t PIN_10MHZ = 8;
const uint8_t PIN_PPS = 6;
SubModule pwm10MHz(PIN_10MHZ);
SubModule pwmPPS(PIN_PPS);
void setup() {
Config cfg;
cfg.setClockSource(kPWM_BusClock);
cfg.setPrescale(kPWM_Prescale_Divide_1);
cfg.setMode(kPWM_EdgeAligned);
cfg.setReloadLogic(kPWM_ReloadPwmFullCycle);
Config cfg10MHz = cfg;
cfg10MHz.setPwmFreqHz(10000000);
pwm10MHz.configure(cfg10MHz);
pwm10MHz.updateDutyCyclePercent(50, ChanA);
pwm10MHz.setupDeadtime(0);
Config cfgPPS = cfg;
cfgPPS.setPwmFreqHz(1);
pwmPPS.configure(cfgPPS);
pwmPPS.updateDutyCyclePercent(1, ChanA); /
pwmPPS.setupDeadtime(0);
pwm10MHz.timer().begin();
pwmPPS.timer().begin();
}
void loop() {
}
Any suggestions?
This sis my code:
#include <Arduino.h>
#include <eFlexPwm.h>
using namespace eFlex;
const uint8_t PIN_10MHZ = 8;
const uint8_t PIN_PPS = 6;
SubModule pwm10MHz(PIN_10MHZ);
SubModule pwmPPS(PIN_PPS);
void setup() {
Config cfg;
cfg.setClockSource(kPWM_BusClock);
cfg.setPrescale(kPWM_Prescale_Divide_1);
cfg.setMode(kPWM_EdgeAligned);
cfg.setReloadLogic(kPWM_ReloadPwmFullCycle);
Config cfg10MHz = cfg;
cfg10MHz.setPwmFreqHz(10000000);
pwm10MHz.configure(cfg10MHz);
pwm10MHz.updateDutyCyclePercent(50, ChanA);
pwm10MHz.setupDeadtime(0);
Config cfgPPS = cfg;
cfgPPS.setPwmFreqHz(1);
pwmPPS.configure(cfgPPS);
pwmPPS.updateDutyCyclePercent(1, ChanA); /
pwmPPS.setupDeadtime(0);
pwm10MHz.timer().begin();
pwmPPS.timer().begin();
}
void loop() {
}
Any suggestions?