orangepizero2(全志H616)
系列文章目录
一、orangepi实现定时器
二、orangepi控制舵机
前言
实现定时器,通过itimerval结构体以及setitimer产生信号,通过signal函数处理信号
1.引入头文件
#include <sys/time.h>
#include <signal.h>
2.函数以及结构体介绍
代码如下(示例):
struct itimerval {struct timeval it_interval; //设定定时时间struct timeval it_value;//设定程序运行到该处多久后启动定时器};struct timeval {long tv_sec; /* seconds */long tv_usec; /* microseconds */};
int setitimer(int which, const struct itimerval *value,struct itimerval *ovalue);
setitimer()将value指向的结构体设为计时器的当前值,假设ovalue不是NULL,将返回计时器原有值。ovalue一般设置为NULL
which:间歇计时器类型,有三种选择
ITIMER_REAL //数值为0,计时器的值实时递减,发送的信号是SIGALRM。一般使用这个值
ITIMER_VIRTUAL //数值为1,进程运行时递减计时器的值,发送的信号是SIGVTALRM。
ITIMER_PROF //数值为2,进程和系统运行时都递减计时器的值。发送的信号是SIGPROF。
返回说明:
成功运行时,返回0。失败返回-1。errno被设为下面的某个值
EFAULT:value或ovalue是不有效的指针
EINVAL:其值不是ITIMER_REAL。ITIMER_VIRTUAL 或 ITIMER_PROF之中的一个
signal(SIGALRM,signal_handler);//SIGALRM信号,signal_hander信号处理函数
3.整体代码
实现定时,每1秒打印一次hello
#include <stdio.h>
#include <sys/time.h>
#include <stdlib.h>
#include <signal.h>
static int i;
void signal_handler(int signum)
{i++;if(i==2000){printf("hello\n");i=0;}
}
int main()
{struct itimerval itv;itv.it_value.tv_sec=0; //设置启动定时器时间itv.it_value.tv_usec=500;itv.it_interval.tv_sec=0;//设置定时时间itv.it_interval.tv_usec=500;if(setitimer(ITIMER_REAL,&itv,NULL)==-1){ //设置定时方式perror("error");exit(-1);}signal(SIGALRM,signal_handler);//信号处理while(1);return 0;
}
orangepizero2(全志H616)相关推荐
- Orange Pi Zero2 (全志H616) 开箱配置
背景 之前一直使用树莓派做一些物联网开发的小项目.然而,今年,由于芯片的涨价,树莓派4B裸板要卖到700人民币,连上一代的树莓派3B也要搭配套装一起买,价格也大多到了5.600人民币.更离谱的是连树莓 ...
- Orangepi Zero2 全志H616(一):配置初始化和启动流程
目录 一,Orangepi简单说明 ①为什么使用全志H616 ②基本特性 ③配套操作系统支持 二,刷机和系统启动 ①准备工具 ②登录系统 ● 开发板供电 ● 登录 ● 开发板上板载LED灯测试说明 ③ ...
- 全志H616——刷机以及初步配置
刷机: 需要的东西: Orangepi Zero2 全志H616开发板 PC机 TF卡及读卡器 操作系统镜像SDFormatter TF卡的格式化工具 Win32Diskimager 刷机工具 USB ...
- [ARM+Linux] 基于全志h616外设开发笔记
修改用户密码 配置网络 nmcli dev wifi 命令扫描周围WIFI热点 nmcli dev wifi connect xxx password xxx 命令连接WiFi 查看ip地址的指令: ...
- 全志H616高画质芯片香橙派Orange Pi Zero2开发板音频测试说明
香橙派Zero2开发板搭载高画质旗舰型6K OTT处理器全志H616 四核 64位处理器,适配有Linux系统和安卓电视盒子系统,拥有512MB/1GB 内存可选,集成千兆以太网卡.蓝牙5.0+双频W ...
- 全志H616方案香橙派Zero2开发板Linux系统设置静态 IP 地址的方法
注意: 1)请不要通过修改/etc/network/interfaces 配置文件的方式来设置静态 IP 地址 2)下文测试方法使用的是全志H616芯片的香橙派zero2开发板,如果使用的是香橙派其他 ...
- 全志H616芯片香橙派Orange Pi Zero2开发板26pinGPIO口测试
香橙派Zero2开发板采用全志H616 四核 64位处理器,拥有512MB/1GB 内存可选,集成千兆以太 wiringOP 已适配 Orange Pi Zero 2 开发板,使用 wiringOP ...
- 全志H616开发板Orange Pi Zero2连接香橙派5寸TFT液晶屏的测试说明
香橙派Zero2开发板采用全志H616 四核 64位处理器,拥有512MB/1GB 内存可选,集成千兆以太网卡.蓝牙5.0+双频WiFi(2.4GHz和5GHz).USB2.0.Micro-HDMI( ...
- 【Orangepi Zero2 全志H616】wiringPi外设SDK安装
Orangepi Zero2 全志H616开发板 一.网络配置 命令扫描周围的WIFI热点 nmcli dev wifi 命令接入网络 nmcli dev wifi connect xxxxxxxx ...
最新文章
- kind富文本编辑器_富文本编辑器原理探索
- 烂泥:下载酷我收费的MV
- OO实现ALV TABLE 九:ALV的事件
- 简洁!get请求和post请求的区别——Web网络系列学习笔记
- mysql主键异常(冲突)
- Bootstrap 按钮下拉菜单
- SpringMVC+MyBatis+MySQL实现分页
- C# 中的 gdi 而不是 gdi+
- Jmeter的Throughput有误差与分布式测试时的坑
- python训练营 朋友圈点赞收费吗_微信朋友圈点赞,是不是扣话费?有人给
- java创建xml文件 编码_Mybatis Generator 1.4.0 通过java编码和xml文件配置
- 【NOIP2018】龙虎斗
- 计算机专业女生进电网,考入华北电力大学计算机专业,无缘国家电网,这是为什么?...
- 监控系统存储服务器和磁盘阵列,监控怎样用磁盘阵列存储服务器
- Linux printf Class.this git rebase Persistent Bugger
- 模糊照片怎么修复清晰?快来看看这两个方法
- 虚拟机磁盘重新分区增加Docker磁盘空间
- matlab滤波器滤除低频直流信号,极低频滤波器MATLAB
- SCU - 4572 醉后不知天在水,满船清梦压星河【思维】
- 硬盘检测工具HARD DISK SENTINEL PRO(硬盘哨兵)v5.70便携版