

Macでシリアルポートからデータを取り込もうと考えています。

テストデバイスからの出力を

[code]

    screen /dev/cu.usbserial-AI055VOD 1200
    
[/code]

で取り込むと

[code]

    Hello, world!
    Hello, world!
    （以下繰り返し)
    
[/code]

と正しく出力されるのですが、catやC言語のopenで取り込むと途中から'?'(0x00)が出力されます。

[code]

    $sudo stty -f /dev/cu.usbserial-AI055VOD cs8 -parenb -cstopb  1200
    $ cat /dev/cu.usbserial-AI055VOD 
    Hello, world!
    Hello, world!
    Hello, world!
    Hello, world!
    He????????????????????(以下繰り返し)
    
[/code]

screenでは正しく表示されるということは、sttyに何か追加の設定が必要なのでしょうか？  
最終的にはc言語で

[code]

    open(SERIAL_PORT, O_RDWR | O_NOCTTY | O_NONBLOCK)
    
[/code]

で使いたいのですが、こちらでやっても途中から0x00が出力ていて困っております。


CC BY-SA 4.0
2023-05-28T02:26:04.113
94994
2023-05-28T02:27:02.327
2023-05-28T02:27:02.327
58489
58489
question
macos
Macでcatで出力されたシリアルポートの出力が途中で変わる