小编Ser*_*gio的帖子

无法创建RFCOMM TTY:地址已在使用中

我在服务器中监听蓝牙连接:

rfcomm listen rfcomm1 1
Run Code Online (Sandbox Code Playgroud)

然后我连接我的蓝牙客户端并显示以下消息:

Connection from XX:XX:XX:XX:XX:XX to /dev/rfcomm1
Press CTRL-C for hangup
Run Code Online (Sandbox Code Playgroud)

这意味着一切都好......

然后我通过在服务器或客户端中执行Ctrl + C来完成连接.

在此之后,我又做了一次:

rfcomm listen rfcomm1 1
Run Code Online (Sandbox Code Playgroud)

但这一次,当我连接客户端时,我收到此消息:

Can't create RFCOMM TTY: Address already in use
Run Code Online (Sandbox Code Playgroud)

所以我去检查哪些连接是打开的:

rfcomm -a
Run Code Online (Sandbox Code Playgroud)

我可以看到连接显示为关闭,但一旦断开连接就不会出现...

rfcomm1: XX:XX:XX:XX:XX:XX -> XX:XX:XX:XX:XX:XX channel 1 closed [reuse-dlc release-on-hup ]
Run Code Online (Sandbox Code Playgroud)

最奇怪的是,有时断开连接是成功的,我可以毫无问题地重新连接.

编辑

我意识到当设备保持连接大约10秒或更长时间时,断开连接成功.但是当此时间较短(快速连接/断开)时,会出现问题.

如果失败发生,我会:

dmesg
Run Code Online (Sandbox Code Playgroud)

打印出来:

[11800.001527] Bluetooth: TIOCGSERIAL is not supported
[11800.033063] Bluetooth: TIOCGSERIAL is not supported
[11926.708438] Bluetooth: TIOCGSERIAL is not supported
[11934.918197] Bluetooth: TIOCGSERIAL is not supported
[11934.926194] Bluetooth: TIOCGSERIAL …
Run Code Online (Sandbox Code Playgroud)

linux bluetooth tty rfcomm bluez

8
推荐指数
2
解决办法
4924
查看次数

将方向更改为垂直,表格行 HTML + CSS

我有这张桌子:

<table id="tabla">
    <tbody>
        <tr><th>row1</th><td>aaaa</td></tr>
        <tr><th>row2</th><td>bbbb</td></tr>
        <tr><th>row3</th><td>cccc</td></tr>
        <figure><img src="image.png"/></figure></td></tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

这将信息按行组织......但我想旋转它并将其显示在列中......我希望这足以解释我想要的:

我现在如何拥有它:

row1: aaaa
row2: bbbb
row3: cccc imag
Run Code Online (Sandbox Code Playgroud)

我想要它的方式:

 row1 | row2 | row3
 aaaa | bbbb | cccc
             | imag  
Run Code Online (Sandbox Code Playgroud)

我怎样才能用 CSS 做到这一点?

html css tablerow

6
推荐指数
2
解决办法
3万
查看次数

如何从 Linux 帧缓冲区获取 RGB 像素值?

我想使用 Linux 以最有效的方式获取屏幕像素的 RGB 值。所以我决定使用 C 中的帧缓冲库(fb.h)来访问帧缓冲设备(/dev/fb0)并直接从中读取。

这是代码:

#include <stdint.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <sys/mman.h>

int main() {

    int fb_fd;
    struct fb_fix_screeninfo finfo;
    struct fb_var_screeninfo vinfo;
    uint8_t *fb_p;

    /* Open the frame buffer device */
    fb_fd = open("/dev/fb0", O_RDWR);
    if (fb_fd < 0) {
        perror("Can't open /dev/fb0\n");
        exit(EXIT_FAILURE);
    }

    /* Get fixed info */
    if (ioctl(fb_fd, FBIOGET_FSCREENINFO, &finfo) < 0) {
        perror("Can't get fixed info\n");
        exit(EXIT_FAILURE);
    } …
Run Code Online (Sandbox Code Playgroud)

c linux framebuffer device-driver linux-kernel

5
推荐指数
1
解决办法
4362
查看次数

标签 统计

linux ×2

bluetooth ×1

bluez ×1

c ×1

css ×1

device-driver ×1

framebuffer ×1

html ×1

linux-kernel ×1

rfcomm ×1

tablerow ×1

tty ×1