This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

spi transfer

I'v read the Arduino SDK for nRF8001 (and Poring ACI to any other microcontroller) some questions:

1)the source code is complicated and there is'nt enough comment on that. how can I find a document to help me understand better and port.

  1. as I know data will send in ACI_EVT_PIPE_STATUS case, why data send with "uart_tx" function? I think micro controller use SPI peripheral to communicate with nRF8001. (uart is asynchronous but spi is synchronous with clock)

3)how "uart_tx" function deliver data to spi_transfer function? I go forth , and finally find a memcopy function with "acil_encode_cmd_send_data" name in acilib.cpp . I completely confused. please help.

Parents
  • This seems to be a continuation of your previous question:

    devzone.nordicsemi.com/.../

    If you feel that question is now closed, then please accept my answer there.

    Porting the ble-sdk-arduino is really not that hard; the main things are

    • Pulling out the Arduino-specific stuff;
    • Getting it to compile in Keil.

    It seems that the EFM32 port has already done that - so you should just have to adjust the hardware-specific bits; ie, the SPI, IO lines, and interrupt.

    You really don't need to touch any of the actual ACI code.

    The only disadvantage with the EFM32 port seems to be that there are no examples with it. But it shouldn't be hard to adapt the original Arduino examples.

    I guess the "uart_tx" function name come from the case of using the Nordic UART-over-BLE service - it has nothing to do with the communication between the host MCU and the nRF8001?

  • Where, exactly, is this "uart_tx" you are talking about? I don't see it anywhere in the EFM32 port.

    In the original ble-sdk-arduino, it appears only in the examples - it is not part of the library itself. And, as I said, it sends data over the air using the Nordic UART-over-BLE service - it has nothing to do with the communication between the host MCU and the nRF8001.

Reply
  • Where, exactly, is this "uart_tx" you are talking about? I don't see it anywhere in the EFM32 port.

    In the original ble-sdk-arduino, it appears only in the examples - it is not part of the library itself. And, as I said, it sends data over the air using the Nordic UART-over-BLE service - it has nothing to do with the communication between the host MCU and the nRF8001.

Children
No Data
Related