Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mrbgems/mruby-arduino/src/sSerial.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r270 r321  
    11/*
    2  * シリアル通信関連
     2 * シリアル通信関連
    33 *
    44 * Copyright (c) 2016 Wakayama.rb Ruby Board developers
     
    2424
    2525/******************************************************/
    26 /* メモリの開放時に走る*/
     26/* メモリの開放時に走る*/
    2727/******************************************************/
    2828static void mrb_serial_free(mrb_state *mrb, void *ptr)
     
    3333
    3434/******************************************************/
    35 /* この構造体の意味はよくわかっていない*/
     35/* この構造体の意味はよくわかっていない*/
    3636/******************************************************/
    3737static struct mrb_data_type serial_type = {"Serial", mrb_serial_free};
     
    3939
    4040/******************************************************/
    41 /* シリアル通信を初期化します: Serial.new*/
    42 /*  Serial.new(num[, bps]) */
    43 /*  num: 通信番号(0:USB, 1:TX-0/RX-1, 2:TX-5/RX-6, 3:TX-7/RX-8, 4:TX-12/RX-11, 5:TX-9(26)/RX-3)*/
    44 /*  bps: ボーレート*/
     41/* シリアル通信を初期化します: Serial.new*/
     42/*  Serial.new(num[, bps]) */
     43/*  num: 通信番号(0:USB, 1:TX-0/RX-1, 2:TX-5/RX-6, 3:TX-7/RX-8, 4:TX-12/RX-11, 5:TX-9(26)/RX-3)*/
     44/*  bps: ボーレート*/
    4545/**/
    46 /* 戻り値*/
    47 /*  Serialのインスタンス*/
     46/* 戻り値*/
     47/*  Serialのインスタンス*/
    4848/******************************************************/
    4949static mrb_value mrb_serial_initialize(mrb_state *mrb, mrb_value self)
     
    6060
    6161        if (num < 0 && num >= SERIAL_MAX) {
    62                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     62                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    6363        }
    6464
    6565        if(!portToPins(num, &txpin, &rxpin))
    66                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     66                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    6767
    6868        serial_t* serialc = mrb_malloc(mrb, sizeof(serial_t));
     
    7878
    7979/******************************************************/
    80 /* ボーレートを設定します: Serial.bps*/
     80/* ボーレートを設定します: Serial.bps*/
    8181/*  Serial.bps(bps)*/
    82 /*  bps: ボーレート */
     82/*  bps: ボーレート */
    8383/******************************************************/
    8484mrb_value mrb_serial_bps(mrb_state *mrb, mrb_value self)
     
    9292        serial_baud(serialc, bps);
    9393
    94         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    95 }
    96 
    97 /******************************************************/
    98 /* シリアルに出力します: Serial.print*/
     94        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     95}
     96
     97/******************************************************/
     98/* シリアルに出力します: Serial.print*/
    9999/*  Serial.print([str])*/
    100 /*  str: 文字列*/
    101 /*    省略時は何も出力しません*/
     100/*  str: 文字列*/
     101/*    省略時は何も出力しません*/
    102102/******************************************************/
    103103mrb_value mrb_serial_print(mrb_state *mrb, mrb_value self)
     
    112112                serial_print(serialc, RSTRING_PTR(text));
    113113        }
    114         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    115 }
    116 
    117 /******************************************************/
    118 /* シリアルに\r\n付きで出力します: Serial.println*/
     114        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     115}
     116
     117/******************************************************/
     118/* シリアルに\r\n付きで出力します: Serial.println*/
    119119/*  Serial.println([str])*/
    120 /*  str: 文字列*/
    121 /*    省略時は改行のみ*/
     120/*  str: 文字列*/
     121/*    省略時は改行のみ*/
    122122/******************************************************/
    123123mrb_value mrb_serial_println(mrb_state *mrb, mrb_value self)
     
    135135                serial_println(serialc, "");
    136136        }
    137         return mrb_nil_value();                 /*戻り値は無しですよ。*/
    138 }
    139 
    140 /******************************************************/
    141 /* シリアルデータがあるかどうか調べます: Serial.available*/
     137        return mrb_nil_value();                 /*戻り値は無しですよ。*/
     138}
     139
     140/******************************************************/
     141/* シリアルデータがあるかどうか調べます: Serial.available*/
    142142/*  Serial.available()*/
    143 /*  戻り値 シリアルバッファにあるデータのバイト数。0の場合はデータなし*/
     143/*  戻り値 シリアルバッファにあるデータのバイト数。0の場合はデータなし*/
    144144/******************************************************/
    145145mrb_value mrb_serial_available(mrb_state *mrb, mrb_value self)
     
    151151
    152152/******************************************************/
    153 /* シリアルからデータを取得します: Serial.read*/
     153/* シリアルからデータを取得します: Serial.read*/
    154154/*  Serial.read()*/
    155 /* 戻り値*/
    156 /*      データé
    157 åˆ—*/
     155/* 戻り値*/
     156/*      データ配列*/
    158157/******************************************************/
    159158mrb_value mrb_serial_read(mrb_state *mrb, mrb_value self)
     
    176175
    177176/******************************************************/
    178 /* シリアルにデータを出力します: Serial.write*/
     177/* シリアルにデータを出力します: Serial.write*/
    179178/*  Serial.write(buf,len)*/
    180 /*      buf: 出力データ*/
    181 /*      len: 出力データサイズ*/
    182 /* 戻り値*/
    183 /*      出力したバイト数*/
     179/*      buf: 出力データ*/
     180/*      len: 出力データサイズ*/
     181/* 戻り値*/
     182/*      出力したバイト数*/
    184183/******************************************************/
    185184mrb_value mrb_serial_write(mrb_state *mrb, mrb_value self)
     
    202201
    203202/******************************************************/
    204 /* シリアルデータをフラッシュします: Serial.flash*/
     203/* シリアルデータをフラッシュします: Serial.flash*/
    205204/*  Serial.flash()*/
    206205/******************************************************/
     
    211210        //serial_flush(serialc);
    212211
    213         return mrb_nil_value();                 /*戻り値は無しですよ。*/
     212        return mrb_nil_value();                 /*戻り値は無しですよ。*/
    214213}
    215214#if 0
    216215unsigned char WiFiData[256];
    217216/***************************************************/
    218 /* USBポートとESP8266をシリアルで直結します: WiFi.bypass*/
     217/* USBポートとESP8266をシリアルで直結します: WiFi.bypass*/
    219218/*  WiFi.bypass()*/
    220 /* リセットするまで、処理は戻りません。*/
     219/* リセットするまで、処理は戻りません。*/
    221220//**************************************************/
    222221mrb_value mrb_wifi_bypass(mrb_state *mrb, mrb_value self)
     
    238237                                WiFiData[i] = (unsigned char)serial_read(RbSerial[0]);
    239238
    240                                 if(WiFiData[i] == 0x0d){ /*0x0Dのみの改行を連打したらbypassモードを抜ける*/
     239                                if(WiFiData[i] == 0x0d){ /*0x0Dのみの改行を連打したらbypassモードを抜ける*/
    241240                                        retCnt++;
    242241                                        if(retCnt > 20){
    243                                                 return mrb_nil_value();                 /*戻り値は無しですよ。*/
     242                                                return mrb_nil_value();                 /*戻り値は無しですよ。*/
    244243                                        }
    245244                                }
     
    260259                }
    261260        }
    262         return mrb_nil_value();                 /*戻り値は無しですよ。*/
     261        return mrb_nil_value();                 /*戻り値は無しですよ。*/
    263262}
    264263#endif
    265264
    266265/******************************************************/
    267 /* ライブラリを定義します*/
     266/* ライブラリを定義します*/
    268267/******************************************************/
    269268void serial_Init(mrb_state* mrb)
Note: See TracChangeset for help on using the changeset viewer.