示例#1
0
static void send_string(struct consreg *cons, char *str, int len) {
  int i;
  for(i=0; i < len; i++) {
    if(str[i] == '\n') 
      cons->send_buf[cons->send_len++] = '\r';
    cons->send_buf[cons->send_len++] = str[i];
  }

  if(cons->send_len && !serial_intr_is_send_enable(cons->index)) {
    serial_intr_send_enable(cons->index);
    send_char(cons);
  }
}
示例#2
0
/* 文字列を送信バッファに書き込み送信開始する */
static void send_string(struct consreg *cons, char *str, int len)
{
  int i;
  for (i = 0; i < len; i++) { /* 文字列を送信バッファにコピー */
    if (str[i] == '\n') /* \n→\r\nに変換 */
      cons->send_buf[cons->send_len++] = '\r';
    cons->send_buf[cons->send_len++] = str[i];
  }
  /*
   * 送信割込み無効ならば,送信開始されていないので送信開始する.
   * 送信割込み有効ならば送信開始されており,送信割込みの延長で
   * 送信バッファ内のデータが順次送信されるので,何もしなくてよい.
   */
  if (cons->send_len && !serial_intr_is_send_enable(cons->index)) {
    serial_intr_send_enable(cons->index); /* 送信割込み有効化 */
    send_char(cons); /* 送信開始 */
  }
}
示例#3
0
文件: consdrv.c 项目: bobchin/kozos
 /* 文字列を送信バッファに書き込み送信開始する */
 static void send_string(struct consreg *cons, char *str, int len)
 {
   int i;
   /* 文字列を送信バッファにコピー */
   for (i = 0; i < len; i++) {
     /* \n => \r\n に変換 */
     if (str[i] == '\n')
       cons->send_buf[cons->send_len++] = '\r';

     cons->send_buf[cons->send_len++] = str[i];
   }

   /*
    * 送信割り込み無効であれば、送信開始されていないので送信開始する。
    * 送信割り込み有効であれば、送信歌詞されており、送信割り込みの延長で
    * 送信バッファ内のデータが順次送信されるので何もしなくていい
    */
    if (cons->send_len && !serial_intr_is_send_enable(cons->index)) {
      serial_intr_send_enable(cons->index);
      send_char(cons);
    }
 }