亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? accelerometer.c

?? 包函四個ucos--ii在飛思卡爾的MCF51QE128開發板上的應用范例
?? C
?? 第 1 頁 / 共 2 頁
字號:
// --------------------------------------------------------------------------------------
// Initializes various registers and peripherals
/////////////////////////////////////////////////////////////////////////////////////////
void PeriphInit(void)
{
  // Disables COP and Enable STOP instruction and RESET and BKGD pin
  SOPT1 = 0x23;
  
  // Selects FEI mode
  // Sets trimming for fBUS about 25 MHz
  ICS_FEI();
  
  // Enable all pullups
  PTAPE = 0xFF; 
  PTBPE = 0xFF; 
  PTCPE = 0xFF; 
  PTDPE = 0xFF; 
  PTEPE = 0xFF; 
  PTFPE = 0xFF; 
  PTGPE = 0xFF; 
  PTHPE = 0xFF; 
  PTJPE = 0xFF; 
  
  /* Configures PTG[2:1] as accelerometer sensitivity 
      PTG2:PTG1
        0    0  = 1.5g
        0    1  = 2.0g
        1    0  = 4.0g
        1    1  = 6.0g
  */
  PTGD = 0x00;
  PTGDD = 0x06;
  
  // Configures ADC peripheral (ADC clock = 6.25MHz)
  // Bus clock as clock source, 12-bit conversion and divisor=4
  ADCCFG = 0x44;
    
  // Timer2 overflow about every 1ms
  TPM2MOD = 25000;
  // Stops timer2 and select 1 as prescaler divisor
  TPM2SC = 0x00;
    
  // Initializes SCI Peripheral
  InitSCI(fei_baud);
          
}

/////////////////////////////////////////////////////////////////////////////////////////
// filter_data 
// --------------------------------------------------------------------------------------
// Filters the collected x,y,z data using simple IIR filter
/////////////////////////////////////////////////////////////////////////////////////////
void filter_data()
{
byte i;
dword X, Y, Z;

  X = x.reading[samp];
  Y = y.reading[samp];
  Z = z.reading[samp];
  
  for (i=samp;i>0;i--){
    X = (X + ((x.reading[i] + x.result[i-1])>>1))>>1;
    Y = (Y + ((y.reading[i] + y.result[i-1])>>1))>>1;
    Z = (Z + ((z.reading[i] + z.result[i-1])>>1))>>1;
  }
  
  x.result[samp] = (word)X;
  y.result[samp] = (word)Y;
  z.result[samp] = (word)Z;
}

/////////////////////////////////////////////////////////////////////////////////////////
// avg_data 
// --------------------------------------------------------------------------------------
// - averages 10 collected x,y,z values
// - puts results in elements 0 of arrays
/////////////////////////////////////////////////////////////////////////////////////////
void avg_data()
{
byte j;
long x_avg=0, y_avg=0, z_avg=0;

  for (j=1;j<=samp;j++){
    x_avg += x.reading[j];
    y_avg += y.reading[j];
    z_avg += z.reading[j];
  }
  x.result[samp] = (word)(x_avg>>4);
  y.result[samp] = (word)(y_avg>>4);
  z.result[samp] = (word)(z_avg>>4);
}

/////////////////////////////////////////////////////////////////////////////////////////
// copy_data 
// --------------------------------------------------------------------------------------
// - copies reading into result
/////////////////////////////////////////////////////////////////////////////////////////
void copy_data() {
  x.result[samp] = x.reading[samp];
  y.result[samp] = y.reading[samp];
  z.result[samp] = z.reading[samp];
}

/////////////////////////////////////////////////////////////////////////////////////////
// ReadAcceleration
// --------------------------------------------------------------------------------------
// Reads acceleration data on a given axis and saves it to the axis structure
/////////////////////////////////////////////////////////////////////////////////////////
word ReadAcceleration(void)
{

  word adc;

  while (!(ADCSC1_COCO)){}              // Waits until ADC conversion is completed

  adc=ADCR;
  return adc;
    
}

/////////////////////////////////////////////////////////////////////////////////////////
// ShowAcceleration
// --------------------------------------------------------------------------------------
// -  Prints the accelaration data in the terminal;
/////////////////////////////////////////////////////////////////////////////////////////
void ShowAcceleration ()
{
word SampleCNT;
byte j,k;
   
  // Read acceleration data
  ADCSC1 = 0x01;                 // Select ADC1 (PTA1) channel
  x.reading[samp]  = (dword)(ReadAcceleration()<<4);
  ADCSC1 = 0x08;                 // Select ADC8 (PTA6) channel 
  y.reading[samp]  = (dword)(ReadAcceleration()<<4);
  ADCSC1 = 0x09;                 // Select ADC9 (PTA7) channel
  z.reading[samp]  = (dword)(ReadAcceleration()<<4);
  
  StartTPM(0);   //0 = TPM prescaler = /2

  if(samp>0){
    switch (mode){
      case filter: filter_data();   break;
      case avg   : avg_data();      break;
      default    : copy_data();
    }
  } else {
    copy_data();
  }
  
  SampleCNT = StopTPM();
  if (SampleCNT<0x0100) {
    for(j=0xff;j>0;j--){
      for(k=0x10;k>0;k--){}
    }
  }

  // Display Acceleration
  SendMsg("\r\n");
  SendMsg(word2asc((word)x.result[samp],dis_base));
  SendMsg(",");
  SendMsg(word2asc((word)y.result[samp],dis_base));
  SendMsg(",");
  SendMsg(word2asc((word)z.result[samp],dis_base));
  SendMsg(",");
  SendMsg(word2asc(SampleCNT,dis_base));
  
  // Shift array of results if we hit max
  if (samp >= max-1) {
    for (j=0;j<max-1;j++){
      x.result[j]  = x.result[j+1];
      x.reading[j] = x.reading[j+1];
      y.result[j]  = y.result[j+1];
      y.reading[j] = y.reading[j+1];
      z.result[j]  = z.result[j+1];
      z.reading[j] = z.reading[j+1];
    }
    samp = max-1;
  } else {
    samp++;
  } //end if (i => max) 
  
}

/////////////////////////////////////////////////////////////////////////////////////////
// MAIN
// --------------------------------------------------------------------------------------
// Entry point
/////////////////////////////////////////////////////////////////////////////////////////
void main(void)
{
  PeriphInit();
  InitKBI();
  EnableInterrupts; 
// Selects fBUS as timer1 clock source and start timer
  TPM1SC = 0x08;
//  SendMsg("\fX, Y, Z\r\n");
  while (!SW1){}
  for(;;){
    while(SW4){
      ShowAcceleration();
    } //end while(SW4)
    while(SW3){_Stop;}
  } //end for(;;)
    
}

/////////////////////////////////////////////////////////////////////////////////////////
// KBI_ISR
// --------------------------------------------------------------------------------------
// Reads PTA[3:2] and shifts to LSBs
// Debounces switch
// Acknowledges KBF
/////////////////////////////////////////////////////////////////////////////////////////
interrupt VectorNumber_Vkeyboard void KBI_ISR(void){
byte d,b;
  
  //capture which pin was pushed
  mode = (byte)(KBI_VAL);
  //debounce button
  for (d=0xff;d>0;d--){
    for (b=0x80;b>0;b--){}
  }
  //clear KBF
  KBI1SC_KBACK = 1;
}
    
  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久香蕉的特点| 亚洲三级在线观看| 国产精品久久久久久久久搜平片| 怡红院av一区二区三区| 成人午夜伦理影院| 91精品国产91久久久久久一区二区| 国产喷白浆一区二区三区| 亚洲18影院在线观看| 99精品在线观看视频| 欧美白人最猛性xxxxx69交| 亚洲成人av资源| 97aⅴ精品视频一二三区| 欧美va亚洲va香蕉在线| 午夜精品成人在线| 成人动漫视频在线| 久久久久国产精品厨房| 热久久一区二区| 欧美日韩在线三级| 亚洲免费观看视频| jlzzjlzz亚洲日本少妇| 国产欧美一区二区精品久导航| 午夜久久久久久电影| 91精品91久久久中77777| 中文字幕亚洲视频| 成人av免费在线播放| wwwwxxxxx欧美| 精品一区二区三区不卡| 欧美日本在线播放| 视频一区二区三区入口| 欧美丰满一区二区免费视频| 亚洲综合久久久| 欧美在线视频全部完| 亚洲精品视频自拍| 一本大道久久a久久综合| 亚洲欧洲制服丝袜| 日本黄色一区二区| 午夜精彩视频在线观看不卡| 欧美视频日韩视频| 日本vs亚洲vs韩国一区三区| 91精品综合久久久久久| 麻豆精品视频在线观看| 2023国产一二三区日本精品2022| 国内精品伊人久久久久av影院 | www激情久久| 狠狠色丁香九九婷婷综合五月| 欧美成人猛片aaaaaaa| 精品一区二区三区欧美| 亚洲国产精品t66y| 在线观看一区不卡| 午夜精品aaa| 久久综合资源网| 99在线精品视频| 麻豆极品一区二区三区| 精品日韩在线观看| 成人午夜在线视频| 一级中文字幕一区二区| 欧美一级淫片007| 丁香网亚洲国际| 亚洲午夜久久久| 精品久久99ma| 99久久精品国产一区二区三区| 亚洲综合激情另类小说区| 91精品国产麻豆国产自产在线| 国产一区欧美日韩| 一区二区三区欧美激情| 日韩精品一区二区三区在线播放 | 国产女同互慰高潮91漫画| 99国产麻豆精品| 麻豆中文一区二区| 亚洲日本一区二区| 日韩欧美的一区二区| 97久久超碰国产精品| 蜜桃av一区二区三区电影| 国产精品毛片大码女人 | 91色porny| 男人的j进女人的j一区| 综合中文字幕亚洲| 日韩午夜av电影| 色94色欧美sute亚洲13| 国产乱国产乱300精品| 五月天激情综合网| 国产精品电影一区二区三区| 日韩精品一区二区三区四区视频| 色婷婷精品久久二区二区蜜臀av| 国产在线乱码一区二区三区| 亚洲国产精品精华液网站| 国产精品久久久久久户外露出| 日韩一区二区三区免费看 | 中文字幕免费在线观看视频一区| 欧美性受xxxx黑人xyx| 国产99久久久国产精品潘金网站| 日韩中文字幕麻豆| 一区二区三区美女| 国产精品国产三级国产aⅴ中文 | 欧美日韩mp4| 99久久伊人精品| 懂色一区二区三区免费观看| 麻豆久久久久久| 青青青爽久久午夜综合久久午夜| 一区二区三区在线观看动漫| 国产目拍亚洲精品99久久精品| 欧美哺乳videos| 日韩午夜激情电影| 在线播放91灌醉迷j高跟美女 | 制服.丝袜.亚洲.另类.中文| 色老汉一区二区三区| 色综合天天狠狠| 91蜜桃婷婷狠狠久久综合9色| 国产成人高清视频| 国产一区二区三区黄视频| 国内精品在线播放| 国产一区二区网址| 国产成人av电影在线| 国产一区二区三区精品视频| 国产精品资源站在线| 国产呦萝稀缺另类资源| 国产一区二区三区综合| 国产在线播放一区| 成人一区二区三区| 成人高清免费观看| 色综合久久综合网97色综合 | 成人久久18免费网站麻豆| 国产精品乡下勾搭老头1| 成人免费黄色大片| av不卡一区二区三区| 色婷婷亚洲综合| 欧美性受xxxx| 这里只有精品视频在线观看| 日韩欧美亚洲国产另类| 国产清纯在线一区二区www| 国产精品素人一区二区| 18欧美乱大交hd1984| 亚洲午夜私人影院| 久久国产欧美日韩精品| 国产精品一区二区在线观看网站| 国内精品不卡在线| 9久草视频在线视频精品| 在线亚洲精品福利网址导航| 69堂成人精品免费视频| 精品对白一区国产伦| 国产精品国产馆在线真实露脸| 亚洲视频在线一区| 日韩成人午夜电影| 国产99久久久精品| 欧美久久久久久蜜桃| 久久久精品影视| 一区二区理论电影在线观看| 蜜桃精品视频在线| 91丨porny丨在线| 欧美一区二区在线看| 自拍偷拍亚洲综合| 午夜精品免费在线观看| 精品一区二区三区在线视频| 色综合一区二区| 欧美一级黄色大片| 亚洲丝袜精品丝袜在线| 麻豆一区二区三区| 91久久精品一区二区三| 精品欧美一区二区久久| 亚洲色图都市小说| 国产综合色产在线精品| 精品视频在线免费| 国产精品水嫩水嫩| 裸体健美xxxx欧美裸体表演| 99国产精品国产精品毛片| 精品日韩一区二区三区| 性感美女久久精品| 99视频一区二区三区| 精品美女在线播放| 香蕉久久夜色精品国产使用方法 | 中文字幕av一区二区三区高| 视频一区在线视频| 91蜜桃在线观看| 中文文精品字幕一区二区| 蜜乳av一区二区| 欧美日韩精品一区二区三区 | 久久久久国产精品麻豆| 青青草原综合久久大伊人精品 | 精品国产一区二区三区四区四| 国产精品久久久久影院亚瑟| 奇米综合一区二区三区精品视频| 色综合久久综合网欧美综合网| 国产视频一区二区三区在线观看| 蜜臀av性久久久久蜜臀av麻豆| 在线精品国精品国产尤物884a| 国产精品久久久久婷婷二区次| 国产精品亚洲第一区在线暖暖韩国 | 欧美视频一区在线观看| 亚洲天堂久久久久久久| 不卡高清视频专区| 国产精品丝袜一区| 成人高清免费观看| 国产精品毛片大码女人| 成人性生交大片免费 | 日韩欧美国产综合| 免费欧美高清视频| 日韩午夜小视频| 激情综合五月婷婷| 久久久精品国产免大香伊 | 久久这里都是精品|