- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写 USB 串行适配器设备驱动程序。内核是3.17.4。驱动程序工作正常,除了内核打开适配器两次并在插入适配器时写入一些命令。这里是驱动程序的 open() 和 write() 的 dump_stack()。
第一次打开()和写入()。内核写入“ATE1 E0”三次。
<4>[19964.897631] Call Trace:
<4>[19964.897642] [<ffffffff8173f929>] dump_stack+0x45/0x56
<4>[19964.897649] [<ffffffffa04aa1ef>] c0087_open+0x2f/0x160 [usb_com_1p_driver]
<4>[19964.897654] [<ffffffff81744bb2>] ? down_write+0x12/0x40
<4>[19964.897661] [<ffffffff81566f75>] serial_port_activate+0x65/0x90
<4>[19964.897667] [<ffffffff8145e864>] ? tty_port_tty_set+0x64/0xa0
<4>[19964.897671] [<ffffffff8145edf9>] tty_port_open+0x89/0xe0
<4>[19964.897675] [<ffffffff81567bf3>] serial_open+0x33/0x70
<4>[19964.897679] [<ffffffff814560eb>] tty_open+0x17b/0x700
<4>[19964.897684] [<ffffffff8149cf72>] ? kobj_lookup+0x112/0x170
<4>[19964.897690] [<ffffffff81211017>] chrdev_open+0xb7/0x1a0
<4>[19964.897694] [<ffffffff81210f60>] ? cdev_put+0x30/0x30
<4>[19964.897698] [<ffffffff81209832>] do_dentry_open+0x1d2/0x320
<4>[19964.897702] [<ffffffff81209b61>] finish_open+0x31/0x50
<4>[19964.897706] [<ffffffff8121cd7c>] do_last+0xc0c/0x11d0
<4>[19964.897710] [<ffffffff81217bd8>] ? inode_permission+0x18/0x50
<4>[19964.897713] [<ffffffff812180e9>] ? link_path_walk+0x99/0xee0
<4>[19964.897717] [<ffffffff8121d40b>] path_openat+0xcb/0x6d0
<4>[19964.897722] [<ffffffff8121e2ad>] do_filp_open+0x4d/0xc0
<4>[19964.897726] [<ffffffff812178db>] ? getname_flags+0x4b/0x180
<4>[19964.897731] [<ffffffff8122b01e>] ? __alloc_fd+0x7e/0x120
<4>[19964.897735] [<ffffffff8120b61b>] do_sys_open+0x13b/0x250
<4>[19964.897738] [<ffffffff8120b74e>] SyS_open+0x1e/0x20
<4>[19964.897743] [<ffffffff81746ae9>] system_call_fastpath+0x16/0x1b
<4>[19965.026562] [<ffffffff8173f929>] dump_stack+0x45/0x56
<4>[19965.026569] [<ffffffffa04aa094>] c0087_write+0x24/0x100 [usb_com_1p_driver]
<4>[19965.026575] [<ffffffff81567890>] serial_write+0x50/0xc0
<4>[19965.026581] [<ffffffff814584e5>] n_tty_write+0x495/0x560
<4>[19965.026586] [<ffffffff810c2850>] ? wake_up_state+0x20/0x20
<4>[19965.026590] [<ffffffff81454a04>] tty_write+0x174/0x300
<4>[19965.026594] [<ffffffff81458050>] ? process_echoes+0x70/0x70
<4>[19965.026599] [<ffffffff8120c597>] vfs_write+0xb7/0x1f0
<4>[19965.026603] [<ffffffff8120d1c5>] SyS_write+0x55/0xd0
<4>[19965.026608] [<ffffffff81746ae9>] system_call_fastpath+0x16/0x1b
第二次打开()和写入()。内核写入“7e 0 78 f0 7e”两次。
<4>[19977.011908] Call Trace:
<4>[19977.011918] [<ffffffff8173f929>] dump_stack+0x45/0x56
<4>[19977.011925] [<ffffffffa04aa1ef>] c0087_open+0x2f/0x160 [usb_com_1p_driver]
<4>[19977.011930] [<ffffffff81744bb2>] ? down_write+0x12/0x40
<4>[19977.011936] [<ffffffff81566f75>] serial_port_activate+0x65/0x90
<4>[19977.011941] [<ffffffff8145e864>] ? tty_port_tty_set+0x64/0xa0
<4>[19977.011945] [<ffffffff8145edf9>] tty_port_open+0x89/0xe0
<4>[19977.011949] [<ffffffff81567bf3>] serial_open+0x33/0x70
<4>[19977.011952] [<ffffffff814560eb>] tty_open+0x17b/0x700
<4>[19977.011958] [<ffffffff81211017>] chrdev_open+0xb7/0x1a0
<4>[19977.011961] [<ffffffff81210f60>] ? cdev_put+0x30/0x30
<4>[19977.011965] [<ffffffff81209832>] do_dentry_open+0x1d2/0x320
<4>[19977.011968] [<ffffffff81209b61>] finish_open+0x31/0x50
<4>[19977.011972] [<ffffffff8121cd7c>] do_last+0xc0c/0x11d0
<4>[19977.011975] [<ffffffff81217bd8>] ? inode_permission+0x18/0x50
<4>[19977.011979] [<ffffffff812180e9>] ? link_path_walk+0x99/0xee0
<4>[19977.011983] [<ffffffff8121d40b>] path_openat+0xcb/0x6d0
<4>[19977.011986] [<ffffffff81455de0>] ? tty_release+0x4c0/0x650
<4>[19977.011990] [<ffffffff8121e2ad>] do_filp_open+0x4d/0xc0
<4>[19977.011993] [<ffffffff812178db>] ? getname_flags+0x4b/0x180
<4>[19977.011998] [<ffffffff8122b01e>] ? __alloc_fd+0x7e/0x120
<4>[19977.012002] [<ffffffff8120b61b>] do_sys_open+0x13b/0x250
<4>[19977.012025] [<ffffffff8120b74e>] SyS_open+0x1e/0x20
<4>[19977.012031] [<ffffffff81746ae9>] system_call_fastpath+0x16/0x1b
<4>[19977.026758] [<ffffffff8173f929>] dump_stack+0x45/0x56
<4>[19977.026766] [<ffffffffa04aa094>] c0087_write+0x24/0x100 [usb_com_1p_driver]
<4>[19977.026772] [<ffffffff81567890>] serial_write+0x50/0xc0
<4>[19977.026777] [<ffffffff814584e5>] n_tty_write+0x495/0x560
<4>[19977.026782] [<ffffffff810c2850>] ? wake_up_state+0x20/0x20
<4>[19977.026786] [<ffffffff81454a04>] tty_write+0x174/0x300
<4>[19977.026789] [<ffffffff81458050>] ? process_echoes+0x70/0x70
<4>[19977.026794] [<ffffffff8120c597>] vfs_write+0xb7/0x1f0
<4>[19977.026797] [<ffffffff8120d1c5>] SyS_write+0x55/0xd0
<4>[19977.026802] [<ffffffff81746ae9>] system_call_fastpath+0x16/0x1b
有人知道这里发生了什么吗?
谢谢!
最佳答案
发送这些命令的是调制解调器管理器。停止 ModemManager 后,适配器不再有命令。
关于linux-device-driver - USB串口驱动和ATE1 E0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29597104/
我有这个小程序。 #include #include using namespace std; int main() { fstream f("file.txt", ios::out);
我的任务是用C++在一个精确的位置写入file.txt因为我的文件是静态的(它不会被改变)我决定计算我必须写的 cursur 的位置。 (我知道这不是最好的主意)这是我的文件,我必须在 '=' 之后写
#include #include int main() { const char* fileName = "out1"; std::ofstream fs1(fileName);
在下面提到的代码中,当我应用 ios::out 时它可以正常工作,但在 ios::ate 的情况下却不是这样,它显示文件中的某个位置 -1 并且无法写入文件。 其次peek()函数用在什么地方 代码:
我正在尝试使用 C++ 获取文件的文件大小。代码是这样的: ifstream fin(filepth, ios::in | ios::binary | ios::ate); if (!fin
我正在使用 Visual Studio 2017 练习 C++,我在 TurboC++ 上有一些 C++ 的经验。尝试创建一个从文件读取和写入的程序,当我在打开文件时使用“ios::Ate”时遇到问题
关于如何测量文件大小的几个主题(参见 Using C++ filestreams (fstream), how can you determine the size of a file? 和 C++:
This问题询问 app 和 ate 之间的区别以及答案和 cppreference暗示唯一的区别是 app 意味着写光标在每次写操作之前放在文件的末尾,而 ate 意味着写光标放在仅在打开时文件末尾
我试图将一系列矩阵作为 CSV 附加到磁盘,并发现使用 ios::ate 会覆盖以前创建的任何现有文件。为了通过一个简化的模型来说明这个问题,对下面的函数 write_nums() 的第二次调用会导致
这是来自MSDN的文档:ate,在首次创建控制对象时寻找流的末尾。 trunc,在创建控制对象时删除现有文件的内容。 我只是无法理解它们之间的区别,以下两个代码片段的行为相同(它们在插入之前清除内容)
这个问题在这里已经有了答案: 关闭10年前。 Possible Duplicate: C++ Filehandling: Difference between ios:app and ios:ate?
我正在尝试打开一个文件进行输出并附加到它。附加到它之后,我想将我的输出位置移动到文件中的其他位置并覆盖 现有数据。据我了解,std::ios_base::app 将强制 所有写入到文件的末尾,即 不是
std::ios_base::ate(例如 std::ios_base::app 除外)和 std::的意义何在ios_base::trunc(例如std::ios_base::out除外)? 我应该
ios::ate 和 ios:app 在写入文件时有什么区别。 在我看来,ios::app 使您能够在文件中移动,而使用 ios::ate 它只能在文件末尾读取/写入文件。这是正确的吗? 最佳答案 反
我用 ios::ate 和 ios::out 标志打开我的 fstream,我注意到文件被截断了。如果我还设置了标志 ios::in,则不会出现此问题。然后输出和输入位置就可以了。但我的问题是,如果未
我有以下代码片段: ofile.open("New1.dat",ios::app|ios::binary|ios::ate); long bytes = ofile.tellp()/sizeof(t)
在 windows7 x64 上,我试图修改一个现有的二进制文件,它位于 C: 的根目录中,它是一个 NTFS 文件系统。 以下代码是使用 MSVC Community 2013 (12.0.3110
我有以下令我惊讶的代码(使用 libstdc++4.8)... #include #include #include using namespace std; int main() {
我是一名优秀的程序员,十分优秀!