改行コードは扱う場所によってコードを変えなくてはいけないようです。
めんどくさいというかこんなことやめてほしいです。
UNIX:\n
シリアル通信:\r
シリアル出力:\r\n
⇒シリアル通信とシリアル出力は何が違うんだ????★
このようなコード変換を実施することを一般に端末変換というそうです。
シリアルからの入力時も変換が必要。
UNIX<-------->シリアル出力
\n \r\n
/* 1文字送信 */
int putc(unsigned char c)
{
if(c == '\n')
{
serial_send_byte(SERIAL_DEFAULT_DEVICE,'\r');←★シリアル出力時に\rを付加。
}
return serial_send_byte(SERIAL_DEFAULT_DEVICE,c);
}
/* 文字列送信 */
int puts(unsigned char *str)
{
while(*str)
{
putc(*(str++));
}
return 0;
}
めんどくさいというかこんなことやめてほしいです。
UNIX:\n
シリアル通信:\r
シリアル出力:\r\n
⇒シリアル通信とシリアル出力は何が違うんだ????★
このようなコード変換を実施することを一般に端末変換というそうです。
シリアルからの入力時も変換が必要。
UNIX<-------->シリアル出力
\n \r\n
/* 1文字送信 */
int putc(unsigned char c)
{
if(c == '\n')
{
serial_send_byte(SERIAL_DEFAULT_DEVICE,'\r');←★シリアル出力時に\rを付加。
}
return serial_send_byte(SERIAL_DEFAULT_DEVICE,c);
}
/* 文字列送信 */
int puts(unsigned char *str)
{
while(*str)
{
putc(*(str++));
}
return 0;
}