|
勇敢的芯伴你玩轉Altera FPGA連載98:基于UART收發的RTC讀寫 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD
如圖10.43所示,本實例通過IIC接口定時讀取RTC中的時、分、秒寄存器,同時將時、分、秒數據通過UART發送到PC上的串口調試助手進行實時的顯示;此外,PC上的串口調試助手也可以發送“0xaa+time+minute+second+0x55”這樣的16進制字符串來重設RTC寄存器,重設后立即生效。
圖10.43 RTC與UART實例功能框圖 本實例模塊劃分如圖10.44所示。
圖10.44 RTC與UART實例模塊層次 連接好下載線,給CY4開發板供電(供電的同時也連接好了UART)。 打開Quartus II,進入下載界面,將本實例工程下的cy4.sof文件燒錄到FPGA中在線運行。 打開串口調試器后,選擇串口為COM10(我們前面在硬件管理器中新識別到的COM口,實驗者應以自己電腦識別到的COM口為準),設置波特率為9600,數據位為8,校驗位為None,停止位為1。點擊“打開串口”。 注意“接收字符”下面的“十六進制”不要勾選。 如圖10.46所示,當我們點擊完“打開串口”,其顯示字符就變成了“關閉串口”。 此時我們看到“接收字符”下面不斷有時間地址的一串時、分、秒信息打印出來。這組不斷更新的數據就是我們從RTC芯片中讀取的時間信息。
圖10.46 時間信息接收 本實例增加了RTC重置功能,如圖10.47所示,當我們以16進制格式發送字符串“aa 09 58 30 55”后,“接收字符”顯示就更新到當前最新的“09:58:30”的時間開始遞增了。
圖10.47 時間信息更新 |