gpt4 book ai didi

linux - BBB 标记/空间奇偶校验

转载 作者:太空宇宙 更新时间:2023-11-04 12:34:01 24 4
gpt4 key购买 nike

所以我在 BBB 上启用了 UART-1。我已经尝试将其设置为通过 termios & stty 使用标记/空格奇偶校验。根据doc它支持这一点。

termios 设置:

options.c_cflag &= ~CSTOPB;      
options.c_cflag &= ~CSIZE;
options.c_cflag &= ~CRTSCTS;

options.c_cflag |= CS8;
options.c_cflag &= ~PARODD;
options.c_cflag |= PARENB;
options.c_cflag |= CMSPAR;

options.c_oflag = 0;
options.c_lflag = 0;
options.c_iflag &= ~(IXON | IXOFF | IXANY | IGNBRK);
options.c_iflag |= INPCK | PARMRK;

stty 输出:

speed 9600 baud; rows 0; columns 0; line = 48;
intr = }; quit = ^A; erase = <undef>; kill = ^P; eof = M-4; eol = M-`; eol2 = <undef>; swtch = M-^X;
start = E; stop = M-p; susp = M-6; rprnt = $; werase = M-6; lnext = 8; flush = M-^Y;
min = 182; time = 174;
parenb -parodd cmspar cs8 -hupcl -cstopb -cread clocal -crtscts
-ignbrk -brkint -ignpar parmrk inpck -istrip -inlcr -igncr icrnl -ixon -ixoff iuclc -ixany -imaxbel
-iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

测试:

echo -e "\x30\x31\x30" > /dev/ttyO1

预期结果:

000110000 000110001 000110000

实际结果:

000110000 100110001 000110000

我似乎无法弄清楚我哪里出错了。就像我说的,文档似乎说它应该可以工作,而且我知道如果我进入内核并破解 omap-serial,我可以让它使用标记/空间奇偶校验。我不想为如此微不足道的事情维护一个被黑的内核。

如有任何指点,我们将不胜感激!

最佳答案

从来没有发现为什么 STICK 奇偶校验不能从用户空间工作,所以我没有用 termios hack 来尝试支持 9 位 UART,而是直接跳到 PRU 上,一切都运行顺利。使用 STICK 奇偶校验没有问题。

关于linux - BBB 标记/空间奇偶校验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42513037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com