FPGA 串口调试 心得

基于正点原子开拓者FPGA ,  进行串口的调试。发现与单片机相比较,单片机的库函数开发, 一条语句解决的事情, FPGA 可能要写一二百行。废话少说,记录一些容易被忽视的点。

串口的代码分为三部分,分别是串口的发送,串口的接收,以及顶层的文件。

1:串口的发送部分

串口的发送部分易错点:1:串口的发送部分的信号使能端使用的电平是高电平。 en_flag ,uart_send_d0, uart_send_d1;

                                        2:串口的发送数据要存储在数据寄存器中,同时判断tx_flag ,tx_flag  的变化依据

if(clk_cnt==BPS_cnt/2&&tx_cnt==4'd9)

3: 关于系统的时钟计数clk_cnt,字节的计数tx_cnt,注意:此处的判断条件是:

if(tx_flag)

if(clk_cnt<BPS_cnt-1)

最后的
else 
     tx_flag<=tx_flag;
     tx_data<=tx_data;

 4:串口数据发送的核心阶段:   初始化条件:rx_flag, 

      uart_send_d1 ,初始化的部分是高电平。case 中的tx_cnt 共包含10个数值,第一个数值是低电平,最后一个数值是高电平。          将tx_data(寄存器的数值传递到)uart_send_d1。

2: 串口的接收

   1: 按照串口的通信协议,首先要做的star

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值