从BeagleBone Black上的UART1读取:为什么字节顺序相反?

我想使用read(2)函数从BeagleBone Black(Debian)上的UART1 / ttyO1一次读取多字节长的数据(请参阅我的former Q here)。例如:

uint32_t _integer32;
read(_fd_rx,&_integer32,4u);

但是目标变量_integer32将以相反的顺序保存接收到的数据字节。例如。当传入的字节按0x010x020x030x04的顺序进入时,_integer32将保留值:0x04030201而不是0x01020304

为什么会这样?

输入字节的顺序肯定是正确的,因为

  • 多个1字节长的读数read(_fd_rx,&_integer8,1u);(和印刷品)显示收货顺序正确,并且

  • 我是使用USB-TTL转换器电缆将数据发送到BBB的人。

我可以想象到ttyO1被表示为已正确填充的FIFO,只有read()没有相应地起作用。

我的目标是能够使用read()一次甚至读取4k(又名N_TTY_BUF_SIZE)字节到预先分配的存储区中。所需的大小未知。

amico1969 回答:从BeagleBone Black上的UART1读取:为什么字节顺序相反?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3149665.html

大家都在问