High speed reading using

HI there
I am trying to read an ADC a parallel binary data https://datasheets.maximintegrated.com/ ... AX2771.pdf at the speed of 4MSPS with nucleo-H743ZI2.
I am using CDD native USB port (with 480Mbit/s transmission ) with a high speed USB cable to transmit the data from nucleo-H743 to my pc using the function (SerialUSB.write()).
The connection goes link this (FrontEndOutput(I0,I1,CLK_OUT) to NucleoBoard(bins) to PC through USB)
my current issue is the data that I am receiving does not make no sense.
the code reads pin I0 and I1 when the CLK_out is in falling edge (attachInterrupt(digitalPinToInterrupt(CLK_OUT_READ), IDataRead, FALLING):wink:
my CLK_out speed is ranges from 4MSPS-44MSPS, I can print data then process it in matlab.
my concern is that the data is read then saved with different sampling frequency than the one sent from ADC because the interrupt is not fast enough.

//#define CLK_OUT PC0 //A1
#define CLK_OUT_READ PB1 //A3
#define READ_I1 PA3 //A0


void setup() {
  SerialUSB.begin(4000000);
//  pinMode(CLK_OUT, OUTPUT);
  pinMode(CLK_OUT_READ, INPUT);
  pinMode(READ_I1, INPUT);
  attachInterrupt(digitalPinToInterrupt(CLK_OUT_READ), IDataRead, FALLING);
}
void loop() {
//  ledState = !ledState;
//  digitalWrite(CLK_OUT, ledState);
//  const uint8_t BIT = (GPIOB->IDR & 0x00000008) >> 1;
}
void IDataRead() {
uint8_t I1 = (GPIOA->IDR & 0x00000008) >> 3;
  SerialUSB.println(I1);
}

I am having a difficult time, I would really appreciate the help.

I am not familiar with this board exactly but with other microcontrollers when you handle an interrupt all interrupts are disabled and if you want to send/receive serial data there are problems.

What testing or troubleshooting have you done?

I think I would go into avr programming directly with the datasheet on hands for that specific samplig rate you need. (asm would be even better)

...if it was an AVR, which it isn't. :slight_smile: