sensors.c

来自「专业汽车级嵌入式操作系统OSEK的源代码」· C语言 代码 · 共 136 行

C
136
字号
#include "platform_config.h"#include "types.h"#include "stack.h"#include "threads.h"#include "classes.h"#include "language.h"#include "sensors.h"#include "poll.h"#include "at91sam7s256.h"#include "nxt_avr.h"extern int verbose;sensor_t sensors[N_SENSORS] = {  {0, 0, 0, 0, 0},  {0, 0, 0, 0, 0},  {0, 0, 0, 0, 0},  {0, 0, 0, 0, 0}};voidinit_sensors(void){  int i;  for (i = 0; i < N_SENSORS; i++) {    unset_digi0(i);    unset_digi1(i);    nxt_avr_set_input_power(i, 0);  }}/** * Read sensor values */voidpoll_sensors(void){  byte i;  sensor_t *pSensor = sensors;  for (i = 0; i < N_SENSORS; i++, pSensor++) {    pSensor->value = sensor_adc(i);  }}voidread_buttons(int dummy, short *output){  *output = (short) buttons_get();}voidcheck_for_data(char *valid, char **nextbyte){  *valid = 0;}voidset_digi0(int sensor){  /* Enable output on the pin */  int functions[] = { AT91C_PIO_PA23, AT91C_PIO_PA28,    AT91C_PIO_PA29, AT91C_PIO_PA30  };  *AT91C_PIOA_PER |= functions[sensor];  *AT91C_PIOA_OER |= functions[sensor];  /* Set high */  *AT91C_PIOA_SODR |= functions[sensor];}voidunset_digi0(int sensor){  /* Enable output on the pin */  int functions[] = { AT91C_PIO_PA23, AT91C_PIO_PA28,    AT91C_PIO_PA29, AT91C_PIO_PA30  };  *AT91C_PIOA_PER |= functions[sensor];  *AT91C_PIOA_OER |= functions[sensor];  /* Set low */  *AT91C_PIOA_CODR |= functions[sensor];}voidset_digi1(int sensor){  /* Enable output on the pin */  int functions[] = { AT91C_PIO_PA18, AT91C_PIO_PA19,    AT91C_PIO_PA20, AT91C_PIO_PA2  };  *AT91C_PIOA_PER |= functions[sensor];  *AT91C_PIOA_OER |= functions[sensor];  /* Set high */  *AT91C_PIOA_SODR |= functions[sensor];}voidunset_digi1(int sensor){  /* Enable output on the pin */  int functions[] = { AT91C_PIO_PA18, AT91C_PIO_PA19,    AT91C_PIO_PA20, AT91C_PIO_PA2  };  *AT91C_PIOA_PER |= functions[sensor];  *AT91C_PIOA_OER |= functions[sensor];  /* Set low */  *AT91C_PIOA_CODR |= functions[sensor];}

⌨️ 快捷键说明

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