极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15183|回复: 5

我一直在研究通讯协议。找到了一个样本库,哪位大神能帮个忙,转换成arduino库?

[复制链接]
发表于 2018-5-6 11:38:45 | 显示全部楼层 |阅读模式
我一直在研究通讯协议。找到了一个样本库,哪位大神能帮个忙,转换成arduino库?

感觉好像是给atmel那个ide写的。

代码我基本都能够理解,但是怎么写库,我搞不懂了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2018-5-18 18:50:53 | 显示全部楼层
200多人看,都没有人出手封装一下么?
回复 支持 反对

使用道具 举报

发表于 2018-5-24 18:45:01 | 显示全部楼层
样本库是做什么用的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-30 17:54:18 | 显示全部楼层
Jone 发表于 2018-5-24 18:45
样本库是做什么用的?

不好意思,好久没有来论坛了。
样本库是用来做通讯协议的,实现运行协议的硬件进行自动发现。
比如,我有一个服务器,下边有新的硬件挂进“通讯网络”,那么通过协议他们互相之间会自动进行协商通讯,达到新的硬件自动向服务器进行注册
回复 支持 反对

使用道具 举报

发表于 2018-8-2 20:29:22 | 显示全部楼层
哈哈,真的没时间帮你转换。教你一个简单粗暴的办法
一、Arduino新建一个工程
二、将这个库文件包括cpp和h都拷贝进生成的工程文件夹

三、在Arduino的源码文件中依照AVR sample代码直接引用即可
四、以01_simple为例按一下直接引用
  1. #include <stdint.h>
  2. #include <util/delay.h>
  3. #include "DiscobusMaster.h"
  4. #include "DiscobusDataUart.h"
  5. #define NODE_COUNT 1
  6. uint8_t iteration = 1, i = 0;
  7. DiscobusDataUart serial;
  8. DiscobusMaster master(&serial);
  9. void setup() {
  10.   serial.begin(9600);
  11.   master.setNodeLength(NODE_COUNT);
  12. }
  13. void loop() {
  14.     master.startMessage(0x01, DiscobusMaster::BROADCAST_ADDRESS, 1, true);
  15.     // Send alternating 1s and 0s
  16.     for (i = 0; i < NODE_COUNT; i++) {
  17.       if ((i + iteration) % 2 == 0) {
  18.         master.sendData(0x01);
  19.       } else {
  20.         master.sendData(0x00);
  21.       }
  22.     }
  23.     master.finishMessage();
  24.     iteration++;
  25.     _delay_ms(1000);
  26. }
复制代码

五、完美编译



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-7 14:31:40 | 显示全部楼层
HuaShine2015 发表于 2018-8-2 20:29
哈哈,真的没时间帮你转换。教你一个简单粗暴的办法
一、Arduino新建一个工程
二、将这个库文件包括cpp和 ...

好办法~非常感谢你的帮助。我一会儿尝试一下
回复 支持 反对

使用道具 举报

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

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

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 10:52 , Processed in 0.039404 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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