⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 80af3a7f368f001b1a38fb2e6f322de1

📁 基于Nios II的串口通信
💻
字号:
/* * "Hello World" example. * * This example prints 'Hello from Nios II' to the STDOUT stream. It runs on * the Nios II 'standard', 'full_featured', 'fast', and 'low_cost' example * designs. It runs with or without the MicroC/OS-II RTOS and requires a STDOUT * device in your system's hardware. * The memory footprint of this hosted application is ~69 kbytes by default * using the standard reference design. * * For a reduced footprint version of this template, and an explanation of how * to reduce the memory footprint for a given application, see the * "small_hello_world" template. * */#include <stdio.h>#include "system.h"#include "altera_avalon_pio_regs.h"#include "alt_types.h"void delay(){  int i=0;  while(i<10000)  i++;}int main(){  //  while(1)      int age,j,ctrl;    char buffer;        //puts(gets(buffer));    printf("Hello from Nios II!");    puts("你好!\0");        puts("输入年龄\0");    scanf("%d",&age);        fflush(stdin);        puts("输入姓名\0");    scanf("%s",buffer);        printf("你的年龄是%d.\n",age);    printf("你的姓名是%s.\n",buffer);    if(buffer!="owen\0")    printf("happy");    else        ctrl=IORD_ALTERA_AVALON_PIO_DATA(CTRL_PIO_BASE); //读取外接控制信号      if( ctrl = 0 )      {         IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0x8);//点亮禁止通信灯      }      if( ctrl = 1 )      {         j++;         IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,0x7);//点亮通信许可灯                  while(1)        {           printf("Input char\0\n");          scanf("%s",buffer);          printf("%s",buffer);//          (int) buffer;          if( buffer == 0x55 )          //if( buffer[0]=="1" && buffer[1]=="0" && buffer[2]=="1" && buffer[3]=="0" && buffer[4]=="1" && buffer[5]=="0" && buffer[6]=="1" && buffer[7]=="0")            {               printf("3");              fflush(stdin);                          scanf("%s",buffer);             if( buffer == 0xaa )                fflush(stdin);                scanf("%s",buffer);                /*int i=0;                while(i<8)                                {                  buffer[i]= buffer[i]>>1;                  i++;                }*/                buffer= buffer>>1;                printf("%s",buffer);                fflush(stdin);            }              else            fflush(stdin);            printf("wrong");            printf("%s",buffer);            //scanf("%s",buffer);            fflush(stdout);            delay();      }             delay();  }  return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -