在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4183|回复: 5

[求助] 关于特权的串口程序有个疑问

[复制链接]
发表于 2012-9-28 16:18:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
UART_RX模块

if(clk_bps) begin    //读取并保存数据,接收数据为一个起始位,8bit数据,1或2个结束位        
                num <= num+1'b1;
                case (num)
                        4'd1: rx_temp_data[0] <= rs232_rx;    //锁存第0bit
                        4'd2: rx_temp_data[1] <= rs232_rx;    //锁存第1bit
                        4'd3: rx_temp_data[2] <= rs232_rx;    //锁存第2bit
                        4'd4: rx_temp_data[3] <= rs232_rx;    //锁存第3bit
                        4'd5: rx_temp_data[4] <= rs232_rx;    //锁存第4bit
                        4'd6: rx_temp_data[5] <= rs232_rx;    //锁存第5bit
                        4'd7: rx_temp_data[6] <= rs232_rx;    //锁存第6bit
                        4'd8: rx_temp_data[7] <= rs232_rx;    //锁存第7bit
                        default: ;
                    endcase
            end

以上程序中,为何数据位是从num=1开始的呢?

当clk_bps=1是表示计数到第一位的中间信号,随即num=num+1,总觉得当num=1时是起始位。



如果num=1时表示第一位数据位成立的话,那么与下面的程序是不是有点矛盾?

num==12时清零,在这里num=1好像是起始位。

else if(num == 4'd12) begin        //我们的标准接收模式下只有1+8+1(2)=11bit的有效数据
                num <= 4'd0;            //接收到STOP位后结束,num清零
                rx_data_r <= rx_temp_data;    //把数据锁存到数据寄存器rx_data中
            end
        end
发表于 2012-9-28 17:07:00 | 显示全部楼层
接收到了起始位时,clk_bps=1时,num采用阻塞赋值  因此起始位没有储存
 楼主| 发表于 2012-9-28 17:17:52 | 显示全部楼层
程序里面“num <= num+1'b1 ”这不是非阻塞赋值吗
发表于 2012-9-28 17:48:40 | 显示全部楼层
第0位没有数据,只是个起始位
 楼主| 发表于 2012-9-29 09:31:54 | 显示全部楼层
谢谢大家!
楼上的,能说清楚一些吗?我是个初学者。摆脱了~
请问当clk_bps=1时,不就是在起始位的中间吗,此时num<=num+1,为何num=1时,是在数据位呢?
发表于 2012-9-29 18:09:46 | 显示全部楼层
回复 5# june_guo


是啊,但是在退出always之前,num还是0啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-29 11:26 , Processed in 0.028851 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表