原创 SOPC与RS232 接口

2009-7-23 21:43 2978 7 7 分类: FPGA/CPLD

在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位,无奇偶位。通过串口调试助手发送字符。


                   df0b5347-4c32-44d9-9bce-57832a31b278.jpg

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
7
关闭 站长推荐上一条 /3 下一条