上一节中成功实现了发送多个字节的数据.把需要发送的数据分成多段遵循uart协议的数据依次发送.上一节是使用状态机实现的,每发一次设定为一个状态,所以需要发送的数据越多,状态的个数越多,代码越长,因而冗长且适应范围不广 . 在这里,我通过优化代码,实现了把发送状态固定为3个,并且能适用任意长度的输入数据的功能.只需要修改一个参数即可实现. 学习: 1.error:cannot index into non-array type wire for 'dataN' 出现这个错误是因为dataN没有定义
vivado中定义了但没用上的寄存器变量,在综合时会被移除,即没有综合出来.(如下cnt,虽然在y的过程块中用了cnt作为判断条件,但实际上cnt用了跟没用效果一样,所以综合时cnt_reg就被放弃了),这将导致虽然观察波形时可以看cnt变量,但他恒等于X(未定态). [Synth 8-6014] Unused sequential element cnt_reg was removed. ["D:/fpga/project/digital_tube_3ctr/digital_tube_3ctr
寄存器变量 这个可以不理睬 register 关键字定义的变量直接放在寄存器当中 寄存器是放在CPU内部的存储单元,它的速度比内存快的多,所以当程序中有10000多次调用同一个变量的时候声明成寄存器变量会提高程序的执行速度. 科技发展不用这样写 register int i,f=1; 外部变量 使用关键字extern 看结果? #include <iostream> using namespace std; int fun(int x,int y); int main(){ extern in