SOPC与RS232接口

    技术2022-05-19  20

    在DE2平台上提供RS232接口。在SOPC Build 中定制 UART。在DE2系统光盘中提供DE2工程中所有的NiosII核的工程都有UART组件。这次我们选用DE2_NIOS_DEVICE_LED工程。生成系统后,在NiosII IDE中,更改向导中Select Target Hardware 选项中的SOPC Builder System,点击Browse 按钮选择SOPC系统的描述文件,我们选择F:/My_Designs/FPGA/DE2_NIOS_DEVICE_LED/HW/system_0.ptf。在工程模板中我们选用Hello World ,然后点击完成,同时将下面代码输入。#include <stdio.h>#include <string.h>int main(){    char*msg ="Detected the character 't'./n";    FILE*fp;    char prompt =0;    fp =fopen("/dev/uart_0","r+");//打开文件以备读写    if(fp)    {   //如果接收到字符“v”,停止循环        while (prompt !='v')         {            prompt="getc"(fp);//从uart0中读取一个字符            if(prompt=='t')             { //如果接收到字符“t”,输出提示信息                fwrite (msg,strlen(msg),1,fp);                         }         }     fprintf(fp,"Closing the UART file./n");     fclose(fp);        }   return 0;     }

    可以采用标准输入输出的方式使用uart_0.先建一个文件指针,即(FILE*)类型,打开对应的UART设备(根据system..h)中的定义,此时为/dev/uart_0,使文件指向打开的设备,可以通过标准C库函数fwrite,fread,fprintf等经行串口的读写操作。代码不断查询串口接收到得字符,接收“t”,通过串口发送提示信息“Detected the character 't'./n”;如果接收“v”,通过串口发送信息“Closing the UART file./n”,同时关闭串口。通过电缆将电脑串口和DE2串口相连,打开串口调试助手,波特率115200,数据位8位,停止位1位,无奇偶位。通过串口调试助手发送字符。


    最新回复(0)