There are parallel 8 bits input to nrf52832 GPIO pins,I want to read the data from the pins and writ it to a RAM.how to do read the data in one CPU clock?
There are parallel 8 bits input to nrf52832 GPIO pins,I want to read the data from the pins and writ it to a RAM.how to do read the data in one CPU clock?
This is the fastest way but not in 1 clock, not even if you write it in assembly.
uint32_t x = NRF_GPIO->IN;
on the nRF52832 you can't read the peripheral in one CPU clock. The APB runs at 16MHz and reads always stall the processor to wait for the bus.
You basically asked this question yesterday and you can't do what you want. You can't read 16MHz parallel data into the chip, not via DMA, not via clever code, not via assembly. As was pointed out yesterday as well, there's nowhere near enough resources to hold that amount of data, all the memory in the entire chip could contain just over 10ms of data at that rate and that's if nothing else was using memory. Nor could you send anything like that amount of data over bluetooth.
So if you really need to interface with a chip churning out 16MHz 8 bit parallel data, you are trying to do it using the wrong ic, the nRF is designed for low power bluetooth operation.
I have getted the answer,thanks!
How long is shifting 1bit operation ? I want catch the data from GPIO's 8bits ,when another gpio input signal (8Mhz) rise edge come.Can you get me an code or help ?
Hi
Shift operations, as well as integer arithmetic operations, all run in a single clock cycle.
This assumes that the data you want to shift is located in a register, so you have to take into account the time needed to move the data into the register first.
Best regards
Torbjørn