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

📄 accel_test.c

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 C
字号:
//  This file is part of MANTIS OS, Operating System//  See http://mantis.cs.colorado.edu/////  Copyright (C) 2003,2004,2005 University of Colorado, Boulder////  This program is free software; you can redistribute it and/or//  modify it under the terms of the mos license (see file LICENSE)#include "mos.h"#include "msched.h"#include "dev.h"#include "command_daemon.h"#include "printf.h"uint16_t x_a;uint16_t x_b;uint16_t y_a;uint16_t y_b;void accel_x_a(void){   dev_read(DEV_MICA2_ACCEL_X, &x_a, sizeof(x_a));   printf("Accel X A reading: %d\n", x_a);   }void accel_x_b(void){   dev_read(DEV_MICA2_ACCEL_X, &x_b, sizeof(x_b));   printf("Accel X B reading: %d\n", x_b);}void accel_y_a(void){   dev_read(DEV_MICA2_ACCEL_Y, &y_a, sizeof(y_a));   printf("Accel Y A reading: %d\n", y_a);}void accel_y_b(void){   dev_read(DEV_MICA2_ACCEL_Y, &y_b, sizeof(y_b));   printf("Accel Y B reading: %d\n", y_b);}void accel_final(void){   uint16_t sensitivity_x, sensitivity_y;   uint16_t offset_x, offset_y;   uint16_t accel_g_x, accel_g_y;      sensitivity_x = (x_a - x_b) / 2;   offset_y = (x_a + x_b) / (x_a - x_b);      printf("X sensitivity: %d offset: %d accel: %d\n", sensitivity_x, offset_x);   sensitivity_y = (y_a - y_b) / 2;   offset_y = (y_a + y_b) / (y_a - y_b);      printf("Y sensitivity: %d offset: %d\n", sensitivity_y, offset_y);   while(1) {      dev_read(DEV_MICA2_ACCEL_X, &x_a, sizeof(x_a));      dev_read(DEV_MICA2_ACCEL_Y, &y_a, sizeof(y_a));      accel_g_x = (x_a / sensitivity_x) + offset_x;      accel_g_y = (y_a / sensitivity_y) + offset_y;      printf("accel_g_x: %d, accel_g_y: %d\n", accel_g_x, accel_g_y);   }}void start(void){   dev_mode(DEV_MICA2_ACCEL_X, DEV_MODE_ON);      mos_register_function("accel_x_a", accel_x_a);   mos_register_function("accel_x_b", accel_x_b);   mos_register_function("accel_y_a", accel_y_a);   mos_register_function("accel_y_b", accel_y_b);   mos_register_function("accel_final", accel_final);      mos_thread_new(mos_command_daemon, MOS_COMMANDER_STACK_SIZE + 64,		  PRIORITY_NORMAL);}

⌨️ 快捷键说明

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