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

📄 myrt_process.c

📁 实时linux RTAI 下的如何使用RTFIFO代码
💻 C
字号:
#include <linux/module.h>#include <asm/io.h>#include <math.h>#include <rtai.h>#include <rtai_shm.h>#include <rtai_sched.h>#include <rtai_nam2num.h>#include "parameters.h"static RT_TASK rt_task;static struct data_str *data;static void fun(int t){	unsigned int count = 0;	float seno,coseno;	while (1) {		data->indx_counter = count;		seno = sin(2*M_PI*1*rt_get_cpu_time_ns()/1E9);		coseno = cos(2*M_PI*1*rt_get_cpu_time_ns()/1E9);		data->sin_value = seno;		data->cos_value = coseno;		count++;		rt_task_wait_period();	}}int init_module(void){	RTIME tick_period;	rt_set_periodic_mode();	rt_task_init(&rt_task, fun, 1, STACK_SIZE, TASK_PRIORITY, 1, 0);	data = rtai_kmalloc(nam2num(SHMNAM), sizeof(struct data_str));	tick_period = start_rt_timer(nano2count(TICK_PERIOD));	rt_task_make_periodic(&rt_task, rt_get_time() + tick_period, tick_period);	return 0;}void cleanup_module(void){	stop_rt_timer();	rt_task_delete(&rt_task);	rtai_kfree(nam2num(SHMNAM));	return;} 

⌨️ 快捷键说明

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