上一节中成功实现了发送多个字节的数据.把需要发送的数据分成多段遵循uart协议的数据依次发送.上一节是使用状态机实现的,每发一次设定为一个状态,所以需要发送的数据越多,状态的个数越多,代码越长,因而冗长且适应范围不广 . 在这里,我通过优化代码,实现了把发送状态固定为3个,并且能适用任意长度的输入数据的功能.只需要修改一个参数即可实现. 学习: 1.error:cannot index into non-array type wire for 'dataN' 出现这个错误是因为dataN没有定义
我们来看看lua vm在解析下面源码并生成bytecode时的整个过程: foo = "bar" local a, b = "a", "b" foo = a 首先我们先使用ChunkySpy这个工具来看看vm最终会具体生成什么样的vm instructions 在这里,开头为[数字]的行是vm真正生成的字节码,我们看到一共生成了六行字节码.首先loadk将常量表中下标为1的常量即"bar"赋给寄存器0:然后setglobal将