使用系统时间服务.txt

来自「nios范例(含源代码)」· 文本 代码 · 共 55 行

TXT
55
字号
#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "altera_avalon_timer_regs.h"
#include "alt_types.h"
#include "sys/alt_alarm.h"
static alt_alarm alarm;
//中断服务程序
char i=0xff,j;
alt_u32 my_alarm_callback(void*context)
  {
    int cnt;
    FILE*fp;
    cnt=alt_ticks_per_second()/3;
    i=~i;
    IOWR_ALTERA_AVALON_PIO_DATA(SEVEN_SEG_PIO_BASE,i);
    fp=fopen("/dev/lcd_display","r+");
    if(fp)
       fprintf(fp,"timer out:%d\r",j);      
     fclose(fp);  
     j++;
     if(j==100)
      j=0;
    return(cnt);
  }
  
//io初始化
void initpio(void)
  {
    IOWR_ALTERA_AVALON_PIO_DIRECTION(SEVEN_SEG_PIO_BASE,0xff);
    IOWR_ALTERA_AVALON_PIO_IRQ_MASK(SEVEN_SEG_PIO_BASE,0x00);
    IOWR_ALTERA_AVALON_PIO_EDGE_CAP(SEVEN_SEG_PIO_BASE,0x00);
  }
  
int main()
  {
    FILE*fp;
    int cnt;
    cnt=alt_ticks_per_second()/3;
    initpio();
    if(alt_alarm_start(&alarm,cnt,my_alarm_callback,NULL)<0)
      {
        fp=fopen("/dev/lcd_display","r+");
        if(fp)
          fprintf(fp,"open system filed\n");    
      }
    for(;;);
     return(0);
  }

  
  


⌨️ 快捷键说明

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