极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 28473|回复: 6

LGT8F328P 與 RF24 庫的使用測試

[复制链接]
发表于 2019-6-21 10:24:30 | 显示全部楼层 |阅读模式
本帖最后由 eddiewwm 于 2019-11-21 09:41 编辑

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


接收端程序
  1. /*
  2. * Arduino Wireless Communication Tutorial
  3. *       Example 1 - Receiver Code
  4. *               
  5. * by Dejan Nedelkovski, www.HowToMechatronics.com
  6. *
  7. * Library: TMRh20/RF24, https://github.com/tmrh20/RF24/
  8. */
  9. #include <SPI.h>
  10. #include <nRF24L01.h>
  11. #include <RF24.h>
  12. RF24 radio(7, 8); // CE, CSN
  13. const byte address[6] = "00001";
  14. void setup() {
  15.   Serial.begin(9600);
  16.   radio.begin();
  17.   radio.openReadingPipe(0, address);
  18.   radio.setPALevel(RF24_PA_MIN);
  19.   radio.startListening();
  20. }
  21. void loop() {
  22.   if (radio.available()) {
  23.     char text[32] = "";
  24.     radio.read(&text, sizeof(text));
  25.     Serial.println(text);
  26.   }
  27. }
复制代码


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

使用道具 举报

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

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

使用道具 举报

发表于 2019-9-4 06:05:09 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

发表于 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[6] = "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);
}
回复 支持 反对

使用道具 举报

发表于 2019-10-12 11:24:10 | 显示全部楼层
我用 W5500以太网模块( SPI)和软串口库,就出现了冲突,软串口不能和有SPI的设备同时使用。
建议官方排查 LGT的 Arduino  SPI库
回复 支持 反对

使用道具 举报

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

你詳細點說,不然大家是不可能知道你說的是甚麼問題的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-23 23:30 , Processed in 0.043769 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表