小菜求高手解答

2019-07-15 23:06发布

ds18B20中,temperature_buf[bit_valid] <= one_wire;   什么意思啊????



还有下面程序不理解????
// DS18B20状态机 结束
//--------------------------------------
//++++++++++++++++++++++++++++++++++++++
// 对采集到的温度进行处理 开始
//++++++++++++++++++++++++++++++++++++++
wire [15:0] t_buf = temperature_buf & 16'h07FF;
//--------------------------------------
// 对采集到的温度进行处理计算
//--------------------------------------
always@(posedge clk or negedge  rst_n)
begin
        if(!rst_n) begin
                DS18B20_DATA_buf[15:0] =16'b0000000000000000;
                //复位后全部清零
         end
        else begin
      DS18B20_DATA_buf[3:0]   = (t_buf[3:0] * 10) >> 4;                               // 小数点后一位
      DS18B20_DATA_buf[7:4]   = (t_buf[7:4] >= 10) ? (t_buf[7:4] - 10) : t_buf[7:4];  // 个位
      DS18B20_DATA_buf[11:8]  = (t_buf[7:4] >= 10) ? (t_buf[11:8] + 1) : t_buf[11:8]; // 十位
   // DS18B20_DATA_buf[15:12] = temperature_buf[12] ? 1 : 0;  
   // 这里是显示正数还是负数的。我们做正数处理
        end
end
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。