ocrobot:alpha:8f328d-rf:main
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版 | |||
| ocrobot:alpha:8f328d-rf:main [2017/12/13 07:41] – [参数] 董凯萍 | ocrobot:alpha:8f328d-rf:main [2025/10/11 02:55] (当前版本) – 外部编辑 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== ALPHA 8F328D-RF ====== | ||
| + | ALPHA 8F328D-RF是一款低成本的无线物连控制器。 | ||
| + | |||
| + | ===== 参数 ===== | ||
| + | ^ MCU | LGT8F328D | ||
| + | ^ FLASH | 32Kbytes | ||
| + | ^ SRAM | 2Kbytes | ||
| + | ^ E2PROM | ||
| + | ^ PWM | 6路 | | ||
| + | ^ 主频 | ||
| + | ^ ADC | 6通道12位 | ||
| + | ^ DAC | 1通道8位 | ||
| + | ^ SPI | 有 | | ||
| + | ^ TWI(I2C) | ||
| + | ^ GUID(全局设备号) | ||
| + | ^ 内部基准 | ||
| + | <WRAP center round important 60%> | ||
| + | 板卡版本需要选择0.0.12版本 | ||
| + | </ | ||
| + | |||
| + | =====参考图片===== | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | =====环境初始化===== | ||
| + | 前往http:// | ||
| + | |||
| + | 打开IDE界面 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 选择板卡管理器 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 在管理器中选择 LGT的支持环境,点击安装 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 等待安装完成,进度条消失即可 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | 选择 LGT8F328D 板卡即可 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | =====支持库的安装与例程===== | ||
| + | |||
| + | 支持库下载:{{: | ||
| + | |||
| + | 将此压缩包解压缩到IDE根目录的libraries目录下 | ||
| + | |||
| + | |||
| + | 随后取出两块主板,分别作为发信机和接收机进行通讯测试(自行做好标记) | ||
| + | |||
| + | 发信机程序如下: | ||
| + | |||
| + | <code cpp> | ||
| + | /* | ||
| + | * 发信机 | ||
| + | * 迷你强 | ||
| + | * [email protected] | ||
| + | | ||
| + | | ||
| + | |||
| + | This program is free software; you can redistribute it and/or | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | |||
| + | /* Connections: | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | */ | ||
| + | #include < | ||
| + | #include " | ||
| + | / | ||
| + | const uint8_t PIN_NRF_RST = 24; | ||
| + | const uint8_t PIN_NRF_CS = 21; | ||
| + | const uint8_t PIN_NRF_PKT = 23; | ||
| + | |||
| + | |||
| + | bool writer; | ||
| + | |||
| + | LT8900 lt(PIN_NRF_CS, | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | // put your setup code here, to run once: | ||
| + | Serial.begin(9600); | ||
| + | Serial.println(F(" | ||
| + | /*SPI 初始化*/ | ||
| + | SPI.begin(); | ||
| + | SPI.setBitOrder(MSBFIRST); | ||
| + | SPI.setDataMode(SPI_MODE1); | ||
| + | SPI.setClockDivider(SPI_CLOCK_DIV4); | ||
| + | delay(500); | ||
| + | /*2.4G 射频初始化*/ | ||
| + | lt.begin(); | ||
| + | lt.setCurrentControl(15, | ||
| + | lt.setDataRate(LT8900:: | ||
| + | lt.setChannel(0x06); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | delay(2000); | ||
| + | uint8_t data[] = { ' | ||
| + | lt.sendPacket(data, | ||
| + | lt.whatsUp(Serial); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | 接收机部分代码 | ||
| + | <code cpp> | ||
| + | /* | ||
| + | * 收信机 | ||
| + | * 迷你强 | ||
| + | * [email protected] | ||
| + | | ||
| + | | ||
| + | |||
| + | This program is free software; you can redistribute it and/or | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | |||
| + | /* Connections: | ||
| + | |||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | */ | ||
| + | |||
| + | #include < | ||
| + | #include " | ||
| + | |||
| + | const uint8_t PIN_NRF_RST = 24; | ||
| + | const uint8_t PIN_NRF_CS = 21; | ||
| + | const uint8_t PIN_NRF_PKT = 23; | ||
| + | |||
| + | |||
| + | LT8900 lt(PIN_NRF_CS, | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | // put your setup code here, to run once: | ||
| + | Serial.begin(9600); | ||
| + | Serial.println(F(" | ||
| + | /*SPI 初始化*/ | ||
| + | SPI.begin(); | ||
| + | SPI.setBitOrder(MSBFIRST); | ||
| + | SPI.setDataMode(SPI_MODE1); | ||
| + | SPI.setClockDivider(SPI_CLOCK_DIV4); | ||
| + | delay(500); | ||
| + | /*2.4G 射频初始化*/ | ||
| + | lt.begin(); | ||
| + | lt.setCurrentControl(15, | ||
| + | lt.setDataRate(LT8900:: | ||
| + | lt.setChannel(0x06); | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | if (lt.available()) | ||
| + | { | ||
| + | uint8_t buf[32]; | ||
| + | int packetSize = lt.read(buf, | ||
| + | if (packetSize > 0) // | ||
| + | { | ||
| + | Serial.println(F(" | ||
| + | |||
| + | for(int i = 0; i < packetSize; i++) // | ||
| + | { | ||
| + | Serial.print((char)buf[i]); | ||
| + | } | ||
| + | Serial.println(); | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | Serial.println(F(" | ||
| + | } | ||
| + | lt.startListening(); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | 如上,此时,接收机应该能够正常接受并显示发信机发送的字符串hello,如果数据包在传输过程中受损,自动CRC校验功能会发现并且提示CRC错误 | ||
| + | |||
| + | =====下载===== | ||
| + | **原理图:** | ||
| + | |||
| + | {{: | ||
