答:他的下面是XILINX的ip核,當(dāng)定義這個(gè)宏的時(shí)候,就會(huì)使用這個(gè)ip核,沒(méi)有定義,則使用my_fifo這個(gè)ip核代碼。
【問(wèn)題2】打開(kāi)串口調(diào)試助手的時(shí)候,提示沒(méi)有發(fā)現(xiàn)此串口。如何解決?
答:1、可以在電腦設(shè)備管理器中的端口選項(xiàng)下,找到對(duì)應(yīng)的串口號(hào),然后串口調(diào)試助手選擇相應(yīng)的串口號(hào)即可。ps:若設(shè)備管理器中沒(méi)有端口選項(xiàng),在上方點(diǎn)擊“查看”,然后選擇“顯示隱藏的設(shè)備”
2、如果設(shè)備管理器中顯示的端口號(hào),軟件上沒(méi)有,可以按照以下操作修改串口號(hào):選中端口選項(xiàng)下面的串口號(hào)→右鍵單擊選擇屬性→端口設(shè)置→高級(jí),然后在最下面修改對(duì)應(yīng)的端口號(hào)即可
3、https://jingyan.baidu.com/article/e52e36157a2dc740c70c514d.html
【問(wèn)題3】串口環(huán)回工程輸入數(shù)據(jù)之后點(diǎn)一下發(fā)送并不能收到,要點(diǎn)好多下發(fā)送他才能收到一些數(shù)據(jù)是什么原因?
【問(wèn)題4】串口環(huán)回工程我想實(shí)現(xiàn)發(fā)一個(gè)收一個(gè)的功能,應(yīng)該如何修改代碼。
答:提供兩種方法思路供,具體請(qǐng)自行實(shí)踐。
方法1思路: 保證串口接收模塊和串口發(fā)送模塊,不需要data_handle模塊。串口接收模塊的輸出直接連到串口發(fā)送模塊的輸入。
方法2思路:打開(kāi)data_hanle模塊,將“60”這個(gè)數(shù)字改為1。
【問(wèn)題5】在串口接收中,為什么要在數(shù)據(jù)的中間時(shí)刻進(jìn)行采樣而不是在開(kāi)始和結(jié)尾?
答:由于我們通過(guò)計(jì)數(shù)器對(duì)數(shù)據(jù)的長(zhǎng)度進(jìn)行計(jì)數(shù)的時(shí)候是有誤差的,在開(kāi)始和結(jié)尾進(jìn)行采樣的話(huà)數(shù)據(jù)容易出錯(cuò)。
詳情請(qǐng)看下面的案例文章:【每周FPGA案例】至簡(jiǎn)設(shè)計(jì)系列_串口回環(huán)工程
http://old.mdy-edu.com/wentijieda/20210410/1327.html
【問(wèn)題6】請(qǐng)問(wèn)這個(gè)104166是怎么得來(lái)的?

答:波特率為9600,那么1秒時(shí)間傳輸?shù)臄?shù)據(jù)個(gè)數(shù)為9600,每個(gè)數(shù)據(jù)需要的傳輸時(shí)間為:1s/9600約等于0.000104166s,即104166ns。
【問(wèn)題7】串口接收模塊中,為什么計(jì)數(shù)器不數(shù)停止位,數(shù)了就錯(cuò)呢?
答:如果要數(shù)停止位,那么當(dāng)您數(shù)完停止位的時(shí)候,是不是有可能在下一段數(shù)據(jù)的開(kāi)始位上?這個(gè)時(shí)候您才去檢查停止位的下降沿,但這個(gè)時(shí)鐘下降沿已經(jīng)沒(méi)有了。接收方向,不數(shù)停止位,那么接收完畢是在最后一個(gè)數(shù)據(jù),或者停止位這個(gè)時(shí)刻上,然后會(huì)開(kāi)始捕捉新的一段數(shù)據(jù) 的“開(kāi)始位下降沿”,那么這個(gè)時(shí)候就正常了。