完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
不理解串口通信中下降沿的判断方法,有知道的指导一下哈。
例程是这样的: assign start_flag = uart_rx_d1&(~uart_rxd_d0); always语句中的赋值 uart_rxd_d0 <= uart_rxd; uart_rxd_d1 <= uart_rxd_d0; 我觉得d1的值是d0赋值给的,d0和d1的值什么都一样吧,那start_flag的值什么时候能变1呢。我理解always语句中的赋值应该这样: uart_rxd_d1 <= uart_rxd_d0; uart_rxd_d0 <= uart_rxd; rxd的电平发生变化以后,d1的值和d0的值就不相等了,下降沿就判断出来了。 不理解例程上的判断方法,帮我解答一下吧朋友们。 |
|
相关推荐
8个回答
|
|
要理解阻塞赋值啊兄弟, assign start_flag = uart_rx_d1&(~uart_rxd_d0);是说前一拍是1后一拍是0的时候赋值为1,不就是下降沿,重点是阻塞赋值理解下
|
|
|
|
是的,而且是并行执行的,d0 = rxd指的是,将上一个时钟沿下rxd的值赋值给d0;
d1 = d0 指的是,将上一个时钟沿下 d0的值赋值给d1(同时这也是上上个时钟下rxd的值); |
|
|
|
我理解了,else中的语句是串行的两个语句需要两个时钟周期来执行,d1保存的实际就是上一个时钟rxd的状态
|
|
|
|
谢谢老哥,刚开始学,语法不太熟
|
|
|
|
阻塞赋值,就像是一个移位寄存器一样的
|
|
|
|
在时钟边沿的触发下,移位寄存器一位一位的移动
|
|
|
|
谢谢,我再琢磨琢磨
|
|
|
|
你这样换个顺序没区别 理解先阻塞和非阻塞赋值吧
|
|
|
|
只有小组成员才能发言,加入小组>>
2908 浏览 3 评论
27716 浏览 2 评论
3487 浏览 2 评论
3990 浏览 4 评论
基于采用FPGA控制MV-D1024E系列相机的图像采集系统设计
2338 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 10:20 , Processed in 1.010309 second(s), Total 92, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号