忘備録-備忘録

技術的な備忘録

RX62Nの12bitAD変換を使うその1

2015-11-26 14:51:43 | RX62N
RX62Nの12bitAD変換器を動かすプログラムのサンプルです。

  1. #include <stdio.h>
  2. #include <machine.h>
  3. #include "iodefine.h"
  4. /*
  5.  * 12bit A/Dコンバータ初期化
  6.  * AN0のみ使用
  7.  */
  8. void s12ad_init(void) {
  9.     MSTP(S12AD) = 0;
  10.     delay_ms(100);                // AD変換回路が安定するのを待つ
  11.     PORT4.DDR.BIT.B0 = 0;        // AN0を使用するためデジタル入力に
  12.     S12AD.ADCSR.BIT.CKS = 0x03;    // クロック PCLK/1
  13.     S12AD.ADANS.BIT.ANS = 0x01;    // AN0のみ変換
  14.     S12AD.ADCER.BIT.ADRFMT = 0;    // 保存データは右詰め
  15. }
  16. /*
  17.  * AD変換を実行
  18.  */
  19. unsigned short get_s12ad(void) {
  20.   int i;
  21.   unsigned short adv;
  22.   S12AD.ADCSR.BIT.ADST = 1;         // AD変換開始
  23.   while(S12AD.ADCSR.BIT.ADST==1);    // AD変換が終了するのを待つ
  24.   adv = S12AD.ADDR0;                // 結果の読み出し
  25.   return adv;
  26. }
  27. int main(void)
  28. {
  29.     int adv;
  30.     Initialization();
  31.     s12ad_init();                        //AD変換初期化
  32.     printf("A/D converter test.\n");
  33.     while (1) {
  34.         adv = get_s12ad();
  35.         printf("AD value %d\n",adv);
  36.         delay_ms(100);
  37.     }
  38. }


最新の画像もっと見る

コメントを投稿