基于nios2的倒计时器程序设计
来源:互联网 发布:知为谁哭 王君 编辑:程序博客网 时间:2024/06/03 20:16
最近上课老师让做一个基于nios2的小座椅,就做了一个倒计时器,内核还借用了一下学姐的资料,这里就分享一下好了
这是软核的设计情况,下面的是编写的片上系统的sopc头文件
/*
* sopc.h
*
* Created on: 2016-12-14
* Author: lzl
*/
#ifndef SOPC_H_
#define SOPC_H_
#include "E:\WLL\software\JSQ1_bsp\system.h"
#define _PIO_0
#define _PIO_1
#define _FM_PIO
typedef struct
{
unsigned long int DATA;
unsigned long int DIRECTION;
unsigned long int INTERRUPT_MASK;
unsigned long int EDGE_CAPTURE;
}PIO_STR;
#ifdef _PIO_0
#define PIO_0 ((PIO_STR*)PIO_0_BASE)
#endif
#ifdef _PIO_1
#define PIO_1 ((PIO_STR*)PIO_1_BASE)
#endif
#ifdef _FM_PIO
#define FM_PIO ((PIO_STR*)FM_PIO_BASE)
#endif
#endif /* SOPC_H_ */
下面是main函数
#include <stdio.h>
#include "../INC1/sopc.h"
#include <unistd.h>
static unsigned long int DG=0,DS=1;
int main()
{
void beep();
void shuzhi();
PIO_0->DATA=DS*16+DG;
while(1)
{
usleep(1000000);
if(PIO_1->DATA==1)
{
shuzhi();
PIO_0->DATA=DS*16+DG;
}
}
return 0;
}
void shuzhi()
{
void beep();
if(DG==0)
{
DG=9;
if(DS==0)
{
femging();
exit(0) ;
}
else
DS=DS-1;
}
else
DG=DG-1;
}
void femging()
{ int i;
for(i=0;i<400;i++)
{
FM_PIO->DATA=1;//ding 700HZ
usleep(1250);
}
for(i=0;i<550;i++)
{
FM_PIO->DATA=1;//dong 500HZ
usleep(2000);
}
}
实现的功能就是倒计时10下然后蜂鸣器响,比较简单适合初学者尝试
- 基于nios2的倒计时器程序设计
- 倒计时器的实现
- JavaScript实现的计时器和倒计时器
- android 简单的倒计时器
- CountDownTimer倒计时器的使用
- CountDownTimer 倒计时器的使用
- CountDownTimer倒计时器的使用
- 倒计时器的代码封装
- 倒计时器
- 倒计时器
- 倒计时器
- 倒计时器
- 倒计时器
- 倒计时器
- 倒计时器
- 倒计时器
- Android CountDownTimer倒计时器的使用
- Android CountDownTimer倒计时器的使用
- 归并排序-数组中的逆序对
- CentOS 修改网卡队列长度
- Spark知识体系完整解读
- asyncio
- Mac OS X下把 /etc/sudoers 写错了怎么办?
- 基于nios2的倒计时器程序设计
- 微信服务号开发----基本配置
- java学习路线-Java技术人员之路从初级到高级
- 关于2005-Unkoow MySQL server host 'localhost'(0)
- 程序人生系列一
- 【数据结构】-(一)
- BS-Excel模板批量导入
- Linux 中必须要了解的命令操作
- SpringMVC 学习笔记(一) Hello World