<树莓派>——树莓派zero/zero w SPI网卡配置/外接网口

在这里插入图片描述
完成状态。
需要1.enc28j60网卡 2.杜邦线

1. 打开SPI接口
树莓派要设置打开SPI接口才可以接入SPI网卡的,这个简单。输入sudo raspi-config指令,在interfaces选项中,找到SPI选项,选择enable即可。然后关掉树莓派,开始接线。

2. 开始接线
在这里插入图片描述
3. 激活enc28j60网卡
最后一步是激活enc28j60网卡,在 /boot/config.txt中加入这句,放在最后面。

dtoverlay=enc28j60

重启之后,SPI网卡就配置完成了。
如果想方便通讯和远程操作,我们可以固定树莓派的eth0地址。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这段代码实现了一个生成哈夫曼树的函数,使用了模板类和优先队列的数据结构,以下是对这段代码的解释: ```c++ template<class Type> class Huffman { friend BinaryTree<int> HuffmanTree(Type [], int); public: operator Type () const { return weight; } private: BinaryTree<int> tree; Type weight; }; template <class Type> BinaryTree<int> HuffmanTree(Type f[], int n) { Huffman<Type> *w = new Huffman<Type>[n + 1]; BinaryTree<int> z, zero; for (int i = 1; i <= n; i++) { z.MakeTree(i, zero, zero); w[i].weight = f[i]; w[i].tree = z; } //建优先队列 MinHeap<Huffman<Type>> Q(1); Q.Initialize(w, n, n); //反复合并最小频率树 Huffman<Type> x, y; for (int i = 1; i < n; i++) { Q.DeleteMin(x); Q.DeleteMin(y); z.MakeTree(0, x.tree, y.tree); x.weight += y.weight; x.tree = z; Q.Insert(x); } Q.DeleteMin(x); Q.Deactivate(); delete[] w; return x.tree; } ``` 这段代码定义了一个模板类 `Huffman`,这个类代表了哈夫曼树的每个节点。它包含了一个二叉树 `tree` 和一个权重 `weight`。类模板 `Huffman` 中的 `friend` 声明了 `HuffmanTree` 函数是 `Huffman` 类的友元函数,可以访问 `Huffman` 类的私有成员。 函数 `HuffmanTree` 受一个权重数组 `f` 和一个整数 `n`,返回一个哈夫曼树。这个函数首先创建了一个 `Huffman` 对象数组 `w`,用于存储每个数据项的权重和对应的单节点树。然后使用二叉树 `zero` 创建了一个空节点树 `z`,循环遍历每个数据项 `i`,将其权重赋值给 `w[i].weight`,将 `z` 赋值给 `w[i].tree`。 下来,使用 `MinHeap` 类模板定义了一个优先队列 `Q`,用于合并单节点树。`MinHeap` 是一个最小堆的类模板,其中使用了 `Huffman` 类作为数据类型,第一个参数 `1` 表示使用默认构造函数进行初始化。 在循环中,每次从 `Q` 中删除两个权重最小的单节点树 `x` 和 `y`,使用 `MakeTree` 函数将 `x.tree` 和 `y.tree` 合并成一个新的树 `z`,将 `x.weight` 和 `y.weight` 相加得到新的权重 `x.weight += y.weight`,将 `x.tree` 赋值为合并后的树 `z`,将 `x` 重新插入到 `Q` 中。最后,从 `Q` 中删除最后一个单节点树 `x`,将 `x.tree` 作为哈夫曼树返回。 希望这个解释能够帮助你理解这段代码的含义。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值