- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的系统中,我使用 I2C 至 2xUART 转换器 SC16IS752。 Linux 内核源代码已经有该芯片的驱动程序,但仅限于 SPI 模式。现在我尝试修改此驱动程序以实现 I2C 工作。 I2C 的速度为 400 kHz。以波特率 38400 与该转换器的 UART 连接设备。该设备每隔 1s 发送包含约 100 字节数据的数据包。 SC16IS752有64字节RX FIFO,因此每个数据包必须处理两次。
我面临着长时间延迟的问题。当 FIFO 达到阈值时,发生硬件中断并执行 IRQ 处理程序:
static irqreturn_t sc16is7x2_irq(int irq, void *data)
{
struct sc16is7x2_channel *chan = data;
#ifdef DEBUG
/* Indicate irq */
chan->handle_irq = true;
#endif
/* Trigger work thread */
sc16is7x2_dowork(chan);
return IRQ_HANDLED;
}
static void sc16is7x2_dowork(struct sc16is7x2_channel *chan)
{
printk("sc16is7x2_dowork \n");
if(!freezing(current))
{
queue_work(chan->workqueue, &chan->work);
}
}
因此,如您所见,中断处理程序将处理来自 SC16IS752 FIFO 的数据的工作放入队列中。
这里我遇到了问题。 sc16is7x2_irq 函数在中断发生后立即执行。 但排队工作会在中断发生后 25ms 内执行。但在此之后,FIFO 会溢出,数据会丢失(26ms 内传输 100 字节)。
这种情况下正确的解决方案是什么?如何减少 Linux 内核中的 25 毫秒延迟?
最佳答案
我确定了延迟的根源,它们是由调用函数 printk 引起的。一项功能的执行时间约为 2-3 毫秒。
关于linux - 嵌入式Linux : SC16IS752 buffer overflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24760560/
我是 Spark 的新手。有人可以清除我的疑问吗: 让我们假设下面是我的代码: a = sc.textFile(filename) b = a.filter(lambda x: len(x)>0 an
问题 每行输入都将包含一个字符串,后跟一个整数。每个字符串最多包含 10 个字母字符,每个整数都在 0 到 999 的范围内 输出代码 在输出的每一行中应该有两列:第一列包含字符串,并使用 15 个字
我希望从不同供应商、不同用途、不同 APDU 的一堆智能卡中读取一些基本信息。例如:国家身份识别智能卡、EMV(支付)、手机SIM、javacard等... 我编写了一个 Java 应用程序。让我将
我有一组我想读入 RDD 的日志文件。 这些日志文件都是压缩的 gzip 文件,文件名是 日期盖章。 我一直在用sc.wholeTextFiles()读入文件,似乎我遇到了 Java 堆内存问题。为了
我使用以下命令创建服务:sc create MyService binpath= "C:\Path\MyDriver.sys" 返回的消息是:[SC] CreateService SUCCESS,但是
我使用 Spring mvc,我的问题是关于 sendError方法来自 HttpServletResponse . 有人可以告诉我哪个最好: @RequestMapping(method = Req
class superClass {} class subClass extends superClass{} public class test { public static void m
我在ConcurrentHashMap中阅读了addCount函数的源代码, 但我不知道什么时候可以实现( sc == rs + 1 || sc == rs + MAX_RESIZERS)条件。 为什
我正在尝试使用 Sproutcore 呈现 UI,其中我有一个列表列表。有一个垂直的数据列表,其中每个关联的项目都有自己的项目列表。我已经根据我对 Sproutcore 的了解设置了我认为合适的模型。
当我通过 http://software.intel.com/en-us/android 安装 Intelhaxm 时并且我成功安装了,但是当我尝试使用管理员在命令提示符下验证 Intelhaxm 是
我试图在我的 MVC - Sitecore - 7.1 中的 v4.0.30319 项目中使用 Glass Mapper。 以下是我安装的 Glass Mapper 版本 Glass Mapper 版
在我通过取消注释文件中的以下行来更改 svnserve.conf 之后,我正在尝试使用 cmd 创建一个 svnserver, anon-access = read auth-access = wri
有没有办法让 java 使用 javax.smartcardio.TerminalFactory 识别我的 NFC 读卡器? 我正在使用 Ubuntu 13.04 并使用 pcsc_scan 我能够读
我正在使用 sc.exe 命令来安装 C# windows 服务。 C:Windows\System32> sc.exe Create "TestService1" binPath= "C:\Prog
sc-bytes 代表什么?每一个关于 sc-bytes 的讨论和博客都声明它代表从服务器到客户端的字节。 想知道sc-bytes是否代表总响应字节数, 例如,。当我们访问任何 URL 时,它是否包含
topLeftView: SC.ScrollView.design({ backgroundColor: "#DADFE6", childViews: 'labLabel labMem
我想将一些已解析的 JSON 数据从我的 Controller 推送到 SC.SourceListView (Sproutcore Showcase) .我使用 SC.TreeController并将
您对此有什么解决方案吗? 我想得到 SC.SceneView从下到上过渡,而不是从左到右或从右到左。 Doc在这里并没有说太多,但是由于原始转换必须在某个地方,也许我可以为此创建其方法的原型(prot
我正在基于SproutCore 1.8的项目中。我的应用程序必须在复杂的表格 View 中显示大量数据。实际上,表格 View 将成为应用程序界面的核心元素之一。另外,我可能需要大纲/树 View ,
我正在尝试在SproutCore应用程序中按部门显示联系人列表,并尝试将SC.ListView嵌套在另一个SC.ListView中无济于事。 我可以use SC.GridView to assist,
我是一名优秀的程序员,十分优秀!