我的程序是要控制步进电机转速,给步进电机设定一个速度,如果步进电机当前速度为0,那么我直接给步进电机送启动频率的脉冲,这是通过给一个变量frequency赋值来实现,这个时候frequency应该为reg型变量。如果步进电机当前速度不为0,那么我通过调用一个除法模块通过当前速度算出当前频率赋给frequency,然后慢慢改变frequency来改变转速,因为frequency要连接到除法模块的输出,所以frequency应该为wire型,这样的话frequency就不好办了,写成wire型这个地方出错,写成reg型另外一个地方出错,该怎么办啊?
怎样调整这个currentcoefficient的类型使得两边都能用?拜托大神了!
我知道你的意思了
你应该把clken2/3一直为1
在if语句中再reg一个coefficient_out
if(...)begin
if()begin
coefficient_out <=qidongcoefficient;
end
else begin
coefficient_out <=currentcoefficient;;
end
另外,你if语句中begin 和end没有成对出现
这里currentcoefficient为wire型
非常感谢指点迷津,begin和end没有成对出现是因为我只是粘贴的一部分,完整的代码有成对出现,感激不尽啊!
追答可以帮到你我也很高兴,如果没什么问题请点击采纳我的回答吧
本回答被提问者和网友采纳