Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
5 years, 11 months ago.
Does anybody have any experience working with this specific board called STM32F407VE?
This is the board I am talking about https://os.mbed.com/users/hudakz/code/STM32F407VET6_Hello/shortlog/
If yes, could you tell me how you configured the NRF2401 with the built in socket in this board? I am stuck for days. Please help!!There is also no documentation on net about this board. The one I found was https://os.mbed.com/users/hudakz/code/STM32F407VET6_Hello/shortlog/ but that only tells about ethernet interfacing.
1 Answer
5 years, 11 months ago.
Hello, swarm robot
The example programs below might help:
https://os.mbed.com/users/hudakz/code/STM32F407VET6_nRF24L01_Master/
https://os.mbed.com/users/hudakz/code/STM32F407VET6_nRF24L01_Slave/
Thanks! I tried this. The server seems to be transmitting. But the receiver shows no response. I don't know what to do on the receiver side. I used both your codes but reception is not happening!!
posted by 23 Jan 2019Try it again. I have replaced the RF24 library with my port to mbed in both Master and Slave. A test run using the online compiler worked fine.
posted by 23 Jan 2019I tried the updated code. But it is also not working! And now the radio.write function in master is executing when there is no nrf plugged in!!! The radio.write condition becomes false when nrf is added!! Please help.. I am failing this project :-(
posted by 24 Jan 2019Even the radio.available() gets executed when I remove the nrf from receiver !! What has happened?!
posted by 24 Jan 2019I don't understand where I am going wrong. I have been with this board and 3 nrf modules for a week now. I have double checked hardware also. Do I need to do anything other than plugging in the nrf in the nrf on the the master and slave on hardware side? After doing that I burned the code of master and slave then nothing happens. I changed the nrf but then also nothing changed. The lack of documentation for this board makes me feel bad that I chose it for my final semester project.. I was able to do something in this project thanks to your documentation. I thank you for that! I don't know what to do now
posted by 24 Jan 2019If you are sure that the hardware is OK then I'd suggest the following:
- Delete your both projects in the online compiler (to get rid off all the old stuff) and import them again.
- Plug in the nRF24L01 modules into the NRF24L01 connector on both of your STM32F407VET6 back board (as shown in the pictures).
- Compile and download the STM32F407VET6_nRF24L01_Master program to the first board.
- Compile and download the STM32F407VET6_nRF24L01_Slave program to the second board.
- Reset both bords
- LED D2 on both bords shall start to blink.
The RF24 library uses channel 72 by default for communication. It could happen that that channel is interferred for instance by a WiFi router. You can try to use other channel. But in that case make sure you select the same channel on both boards:
//... // Initialize nRF24L01 radio.begin(); radio.setChannel(90); // select channel 90 for communication radio.setPALevel(RF24_PA_LOW); radio.setRetries(5, 15); radio.setPayloadSize(1); radio.setAutoAck(true); //...
By the way, how did you burn the code to the boards? Did the https://os.mbed.com/users/hudakz/code/STM32F407VET6_Hello/ run correctly on your boards?
For documentation on the board check the links below:
- http://wiki.stm32duino.com/images/5/5c/STM32_F4VE_SCHEMATIC.PDF
- http://www.st.com/resource/en/datasheet/dm00037051.pdf.
- http://www.st.com/content/ccc/resource/technical/document/reference_manual/3d/6d/5a/66/b4/99/40/d4/DM00031020.pdf/files/DM00031020.pdf/jcr:content/translations/en.DM00031020.pdf.
I compile the program in the online compiler. Generate the bin file and burn it through my stlink programmer hardware. The software I use for burning the bin file is STM32Cube Programmer. Your Blinky RTOS program worked fine for me. It is with the help of that program that I was able to do 25% of my project. But I am stuck here. All other hardware has been interfaces but this NRF2401 is lagging me too bad.
I tried the above steps you mentioned. Here are my observations: I also tried changing channel to 90.
1. The if (radio.write(&payload, sizeof(payload))) returns true when I remove the NRF2401 from the board. Otherwise this condition becomes false. 2.Receiver doesn't blink at all. 3. In the first version of code you uploaded, my transmitter if condition seemed to be working fine. It is the new updated one giving me this strange error. But in the earlier version also there was no response in the receiver.
posted by 25 Jan 2019