spi求指导
cpld实现spi从机,控制数码管16位spi数据,上升沿数据输入从机,空闲时钟为低,相位无延迟
代码如下:
always @ (posedge spi_clk)
begin
if(!spi_ste)
begin
rxbuf_reg = MOSI;
rxbuf_reg = rxbuf_reg<<1;
end
end
always @ (posedge spi_ste)
begin
rxbuf <= rxbuf_reg;
end
目前的问题是接收到的数据最后一位丢失了,最后一位都为0,求高手指导,谢谢 always @ (posedge spi_clk) 改成always @ (negedge spi_clk)s试下看。 不是这个原因,的确是上升沿采样,我试过了
回去用示波器抓个波形看下吧 always @ (posedge spi_clk)
begin
if(!spi_ste)
begin
rxbuf_reg <= {rxbuf_reg,MOSI};
end
end
always @ (posedge spi_ste)
begin
rxbuf <= rxbuf_reg;
end 首先看你spi设备的时序,然后用示波器测量一下波形对比一下应该就能判断原因了
页:
[1]