我已经放在一起(有很多来自本网站的研究问题,谢谢)一些代码,它们将在我的qt creator gui中显示qlcdnumber小部件上的覆盆子pi输入引脚电压。代码运行完美,gui弹出,引脚电压打印到端子(临时),按钮在gui中起作用,其他引脚变为高电平和低电平。我没有得到任何错误,但问题是信号不会显示在gui lcd上。我已经研究了所有我没有成功的东西,我觉得好像我现在在猜它。我很感激任何输入和指导。我学到了很多,但还有很长的路要走,所以任何帮助都会很棒。我正在使用Raspbian和Qt4 / Qt Creator 3.2.1
以下是整个代码,再次感谢您的任何指示:
// selecting operation of ALU:
reg [3:0] aluop;
always @(opc)
begin
if (opc==0) aluop = 0; // HLT
else if (opc==1) aluop = 1; // ADD
else if (opc==2) aluop = 2; // SUB
else if (opc==3) aluop = 3; // AND
else if (opc==4) aluop = 4; // XOR
else if (opc==5) aluop = 5; // SHL
else if (opc==6) aluop = 6; // SHR
else if (opc==7) aluop = 0; // LDA
else if (opc==8) aluop = 0; // LD
else if (opc==9) aluop = 0; // ST
else if (opc=='hA) aluop = 7; // LDI
else if (opc=='hB) aluop = 7; // STI
else if (opc=='hC) aluop = 0; // BZ
else if (opc=='hD) aluop = 0; // BP
else if (opc=='hE) aluop = 0; // JR
else if (opc=='hF) aluop = 7; // JL
end
// #TODO
// ALU:
//reg [15:0] alu;
wire [15:0] outputwire;
finalbitshifter bitshifter(alu_A, outputwire, alu_B[3:0]);
always @(alu_A or alu_B or aluop)
begin
if (aluop==0) alu <= alu_A;
else if (aluop==1) alu <= alu_A + alu_B;
else if (aluop==2) alu <= alu_A - alu_B;
else if (aluop==3) alu <= alu_A & alu_B;
else if (aluop==4) alu <= alu_A ^ alu_B;
else if (aluop==5) alu <= alu_A << alu_B[3:0];
else if (aluop==6) alu <= outputwire;
else if (aluop==7) alu <= alu_B;
$display("OutW: OW %b, ALU %b, ALUA %b, ALUB %b, OPC %b", outputwire, alu, alu_A, alu_B, aluop);
end
endmodule
module finalbitshifter(input1, output1, selector);
input [15:0] input1;
input [3:0] selector;
output [15:0] output1;
wire [15:0] output_to_second;
wire [15:0] output_to_third;
wire [15:0] output_to_fourth;
wire aolout_to_second;
wire aolout_to_third;
wire aolout_to_fourth;
//bitshift1(in_to_mux, mux_to_out, sel0, aolout);
bitshift1 bit1(input1, output_to_second, selector[0], aolout_to_second);
//bitshift2(aolin, in_to_mux, mux_to_out, sel0, aolout);
bitshift2 bit2(aolout_to_second, output_to_second, output_to_third, selector[1], aolout_to_third);
//bitshift4(aolin, in_to_mux, mux_to_out, sel0, aolout);
bitshift4 bit4(aolout_to_third, output_to_third, output_to_fourth, selector[2],aolout_to_fourth);
//bitshift8(aolin, in_to_mux, mux_to_out, sel0);
bitshift8 bit8(aolout_to_fourth, output_to_fourth, output1, selector[3]);
endmodule
答案 0 :(得分:0)
在一个不同的帖子中,eyllanesc为我设置了信号和插槽,我需要向我的gui lcd显示信号,但我不太了解它,知道他做了什么。过去几天我一直在读这篇文章,最后看看他做了什么。一切都有效,就像我想要的那样。
对于任何可能有同样困惑的人,这是我的主要问题:
def onChangeValue(self, values):
o2_volts = values
我是如此陌生,以至于我没有意识到我需要实际用我的指定值代替&#34;值&#34;在上面的代码中。有点尴尬,但我想是学习的一部分。另一个问题是:
o2_concentration = QtCore.pyqtSignal(int)
我没有意识到这一点,但是在我修正了&#34;值&#34;之后,液晶显示器正在工作但读数为0,我认为它不起作用。使用光电管来获得电压,当打印到终端时我得到.25但是对于液晶显示器来说是0。再次成为新人,我没有想到(int)对我想要的不正确。将其更改为(浮动)修复了问题。一切都很好。
我的剧本自原始帖子以来一直在增长,但如果有人想看到它,我会很乐意发布它。
这是一个很棒的网站。谢谢你的一切。