📄 mica2-humidity.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"#if defined(PLATFORM_MICA_ANY)#include "mica2-humidity.h"#include "avr-i2c.h"#include "dev.h"#include "mutex.h"#if defined(MICA2_HUMIDITY) || !defined(SCONS)mos_mutex_t humidity_mutex;uint8_t powered;static uint8_t mode;static void mica2_humidity_on(void){ uint8_t i; i = HUMIDITY_PIN_MASK; dev_ioctl(DEV_AVR_I2C, I2C_SET_BRR, HUMIDITY_CLOCK); dev_ioctl(DEV_AVR_I2C, I2C_DEST_ADDR, HUMIDITY_POWER_ADDR); dev_write(DEV_AVR_I2C, &i, sizeof(i)); }static void mica2_humidity_off(void){ uint8_t i; i = ~(HUMIDITY_PIN_MASK); dev_ioctl(DEV_AVR_I2C, I2C_DEST_ADDR, HUMIDITY_POWER_ADDR); dev_write(DEV_AVR_I2C, &i, sizeof(i));}uint8_t dev_read_DEV_MICA2_HUMIDITY(void *buf, uint16_t count){ avr_i2c_init(); if(mode == DEV_MODE_OFF) mica2_humidity_on(); dev_ioctl(DEV_AVR_I2C, I2C_DEST_ADDR, HUMIDITY_DATA_ADDR); dev_read(DEV_AVR_I2C, (uint8_t *)buf, count); if(mode == DEV_MODE_OFF) mica2_humidity_off(); return count;}uint8_t dev_write_DEV_MICA2_HUMIDITY(void *buf, uint16_t count){ return DEV_UNSUPPORTED;}uint8_t dev_ioctl_DEV_MICA2_HUMIDITY(int8_t request, ...){ return DEV_BAD_IOCTL;}void mica2_humidity_init(void){ mica2_humidity_off(); powered = DEV_MODE_OFF; mos_mutex_init(&humidity_mutex);}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -