Nios II中使用C标准库函数对UART(RS232)、LCD、JTAG进行操作

1.第一种方式

   拿串口通信为例,HAL系统库API支持对UART核功能部件的完全访问。Nios II程序把UART核看成是一个字符模式设备,使用ANSI C标准库函数发送和接收数据。

  下面是一个最简单的串口通信程序,具体功能是使用printf()函数讲一个字符显示到stdout设备上。

#include<stdio.h>
int main()
{
 printf("Hello World.
");
 return 0;
}

  需要强调的是,本次例中在NIos II IDE中的工程配置选项中将所使用的串口设备uart_0配置为stdout。如下图所示。

2.第二种方法

 下面是对串口UART的标准使用方法,该方法通过C标准库函数对UART设备完成检查特定字符操作。此时无须把UART核设置为stdout设备,程序中把UART作为HAL系统支持的文件类型,打开并使用标准的文件操作函数对UART设备进行读写操作。

include <stdio.h>
#include"system.h"
#include<string.h>
#include<unistd.h>

int main()
{   
    char *msg = "wo shi yi zhi
";
    FILE *f1,*f2;
    f1 = fopen(UART_0_NAME,"r+");
    f2 = fopen(LCD_16207_0_NAME,"w");
    while(1){
    fprintf(f1,"wo shi yi zhi
");  //对UART进行操作
    fwrite(msg,strlen(msg),1,f2);   //对LCD进行操作
    printf("Hello from Nios II!
");//对JTAG进行操作
    usleep(1000000);
    }
  return 0;
}

原文地址:https://www.cnblogs.com/wangyabin121/p/5962060.html