?? fifo.c~
字號:
#include <rtl.h>
#include <rtl_sync.h>
#include <time.h>
#include <rtl_fifo.h>
#define BUFSIZE 1024
char buf[BUFSIZE]="hongchunxia";
pthread_t thread;
void * start_routine(void *arg)
{
struct sched_param p;
int status;
p . sched_priority = 1;
pthread_setschedparam (pthread_self(), SCHED_FIFO, &p);
pthread_make_periodic_np (pthread_self(), gethrtime(), 1000000); //ns = 10ms
status = rtf_put(0, buf, 1024); //write as often as possible rtl_printf("write to fifo is %s!\n",buf);
if (status <= 0) //1kB of data into rt_fifo
pthread_wait_np(); //if fifo is full: wait 10 ms
return 0;
}
int init_module(void) {
int ret;
ret = rtf_create(0, 1024*1024); //create a real time fifo of 1MB size if (ret) { printk("failed to create fifo (%d)\n",ret); return -1; } printk("create fifo (%d) success!\n",ret);
return pthread_create (&thread, NULL, start_routine, 0);
}
void cleanup_module(void){
printk("removing fifo now!\n");
rtf_destroy(0);
pthread_delete_np (thread);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -