eddiewwm 发表于 2019-6-21 10:24:30

LGT8F328P 與 RF24 庫的使用測試

本帖最后由 eddiewwm 于 2019-11-21 09:41 编辑

在論壇上看到有人說 LGT8f328P在配合 nRF24L01使用時會出現問題,而用 arduino nano卻不會。問題特別在使用庫時會出現,但可惜沒有說明是那個庫。
因之前用SPI點LCD屏時,LGT8F328P確是會在某些庫出現問題,所以,這次特以 RF24庫作測試,看看以SPI控制nRF2401,會出現甚麼樣的問題。
發射端程序
/*
/*
* Arduino Wireless Communication Tutorial
*   Example 1 - Transmitter Code
*               
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address = "00001";
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(1000);
}

接收端程序
/*
* Arduino Wireless Communication Tutorial
*       Example 1 - Receiver Code
*               
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address = "00001";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
if (radio.available()) {
    char text = "";
    radio.read(&text, sizeof(text));
    Serial.println(text);
}
}

測試結果正常,沒發現問題。
(註:nRF2401模塊應在電源多加一10uF以上的電容,並要特別留意發射端的電源供應是否能提供充夠的電流,特別是瞬間電流)
Reference:
https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-tutorial/

eddiewwm 发表于 2019-11-21 09:35:03

A-XIN560700 发表于 2019-11-20 12:03
用的程序是也是跟楼主一样的,收发程序用在LGT8F328P LQFP32 MiniEVB可以运行,但在LGT8F328P-SSOP20 Min ...

如果在 LGT8F328P-LQFP32 可以,已說明庫是可用的。
但你沒說清楚是在甚麼情況下沒反應,也沒看到是否有甚麼異常的提示。提議你說得詳細一點,不然大家是不可能知道你說的是甚麼問題的。

yzw92 发表于 2019-9-4 06:05:09

感谢楼主分享

a461624201 发表于 2019-9-7 15:55:10

发射机代码

/*
* Arduino Wireless Communication Tutorial
*   Example 1 - Transmitter Code
*               
* by Dejan Nedelkovski, www.HowToMechatronics.com
*
* Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
*/
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte address = "00001";
void setup() {
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop() {
const char text[] = "Hello World";
radio.write(&text, sizeof(text));
delay(1000);
}

Jone 发表于 2019-10-5 22:31:31

谢谢分享!

yzz163 发表于 2019-10-12 11:24:10

我用 W5500以太网模块( SPI)和软串口库,就出现了冲突,软串口不能和有SPI的设备同时使用。
建议官方排查 LGT的 ArduinoSPI库

eddiewwm 发表于 2019-11-18 15:36:43

A-XIN560700 发表于 2019-11-16 11:38
这些天一直在尝试各种办法,不知道是RF24库文件出现的问题还是SPI出现的问题。同样的收发程序在ARDUINO NAN ...

你詳細點說,不然大家是不可能知道你說的是甚麼問題的。
页: [1]
查看完整版本: LGT8F328P 與 RF24 庫的使用測試