Files
hisi_SS524V100_SDK/mpp/sample/xinuo_get/shm_read.c
T

55 lines
1.2 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h> // gettimeofday
#include <sys/stat.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <errno.h>
struct display_param{
int freq;
int dbm1;
int dbm2;
int bw;
int power;
int bitrate;
};
int main()
{
struct display_param param;
int fd_param;
char *buffer_param;
char dbm1[5];
char dbm2[5];
char dbm3[5];
fd_param = shm_open("/param.txt",O_RDWR|O_CREAT|O_EXCL,0777);
if(fd_param < 0){
fd_param = shm_open("/param.txt",O_RDWR,0777);
}else
ftruncate(fd_param,4096);
buffer_param= mmap(NULL,4096,PROT_READ|PROT_WRITE,MAP_SHARED,fd_param,0);
while(1){
memcpy(dbm1,buffer_param,4);
memcpy(dbm2,buffer_param+8,6);
//memcpy(dbm3,buffer_param+12,5);
param.dbm1=atoi(dbm1);
param.dbm2=atoi(dbm2);
printf("dbm1: %s\n",dbm1);
printf("dbm2: %s\n",dbm2);
//printf("read: %s\n",dbm3);
printf("param.dbm1: %d\n",param.dbm1);
printf("param.dbm2: %d\n",param.dbm2);
}
}