标签: bus

Python PIL ImageTk.PhotoImage()给我一个总线错误?

所以我在macbook pro上运行python 2.6并尝试在python中编写代码,以显示tkinter gui上标签中文件的图像.该图像称为image.png.使用此代码时,程序运行没有错误

i = Image.open("image.png")
Run Code Online (Sandbox Code Playgroud)

但是当我执行此代码时(我添加一行):

i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Run Code Online (Sandbox Code Playgroud)

程序将崩溃,并在命令行中说"总线错误".我甚至都不知道这意味着什么.我认为PIL安装正确,因为Image工作,但ImageTk不起作用的事实让我困惑.任何人都可以告诉我可能导致此总线错误的原因是什么?

编辑:我做了一个新的程序来进一步测试错误.这是我运行的确切脚本:

import Image
import ImageTk

i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Run Code Online (Sandbox Code Playgroud)

现在不是得到"总线错误",而是我的回溯.

Traceback (most recent call last):
  File "imageTest.py", line 5, in <module>
    photo = ImageTk.PhotoImage(i)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageTk.py", line 113, in __init__
    self.__photo = apply(Tkinter.PhotoImage, (), kw)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 3285, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 3226, in __init__
    raise RuntimeError, 'Too early to create image'
RuntimeError: Too early …
Run Code Online (Sandbox Code Playgroud)

python image bus python-imaging-library

7
推荐指数
2
解决办法
1万
查看次数

处理HDL中的数组

如何在HDL中使用数组(表示总线)?

例如,我有以下代码:

/**
 * 16-bit bitwise And:
 * for i = 0..15: out[i] = (a[i] and b[i])
 */

CHIP And16 {
    IN a[16], b[16];
    OUT out[16];

    PARTS:
    // Put your code here:
}
Run Code Online (Sandbox Code Playgroud)

假设我And已经实现了,我该如何实现呢?

我宁愿没有以下内容:

And(a=a[0],b=b[0],out=out[0]);
And(a=a[1],b=b[1],out=out[1]);
...
And(a=a[14],b=b[14],out=out[14]);
And(a=a[15],b=b[15],out=out[15]);
Run Code Online (Sandbox Code Playgroud)

arrays syntax hdl bus nand2tetris

7
推荐指数
1
解决办法
1319
查看次数

启用可在Google地图中点击的公交车站图标

使用Google Map API,如何设置可点击的公交车站图标并在信息窗口显示公交车号码服务?我可以在谷歌地图网站上看到,它已启用.但是当我使用Map API创建自己的代码时,默认情况下这似乎是禁用的?

如果我不清楚,请参阅图片链接.

https://dl.dropbox.com/u/46360728/diff.maps.png

左侧是maps.google.com网站中的地图,而右侧是我的Google地图实施.正如您所看到的,与其他屏幕截图不同,我无法单击我的实现的公交车站.

任何帮助将非常感激.

icons google-maps bus

6
推荐指数
1
解决办法
5872
查看次数

C结构中的总线错误

这是我测试复制struct的代码.

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 typedef struct emp_struct {
 5     char *name;
 6     int employee_no;
 7     float salary,
 8           tax_to_date;
 9 } Employee;
 10 
 11 typedef Employee Database[10];
 12 
 13 Database people = {
 14     {"Fred", 10, 10000, 3000},
 15     {"Jim", 9, 12000, 3100.5},
 16     {"Fred", 13, 1000000, 30},
 17     {"Mary", 11, 170000, 4000},
 18     {"Judith", 45, 130000, 50000},
 19     {"Nigel", 10, 5000, 1200},
 20     {"Trevor", 10, 20000, 6000},
 21     {"Karen", 10, 120000, 34000},
 22     {"Marianne", …
Run Code Online (Sandbox Code Playgroud)

c c++ struct bus

6
推荐指数
1
解决办法
758
查看次数

使来自图书馆链接的信号名称独一无二?

好吧,我一直在努力解决这个问题.完成以下任务的最佳方法是什么:

在此输入图像描述

其中Reaction Wheel 1-4是指向库中同一块的链接.当Speed Counter,Speed DirectionCurrent信号被加入到最终的总线输出如图所示,MATLAB(理所当然)抱怨:

警告:进入Bus Creator'myAwesomeModel'的信号9,10,11,12具有重复的名称'Current'.通过将"(signal#)"附加到结果总线内的信号,使这些变得独特.请更新信号的标签,使它们都是唯一的.

到现在为止,我一直在使用这样的"解决方案":

在此输入图像描述

也就是说,在中间放置一个1-mux/1的增益/其他虚拟块,这样信号就可以重命名为独特的东西.但是,我真的很想相信The MathWorks已经想到了一个更好的方法来做到这一点......

构建这样的总线信号的"正确"方法是什么?感觉就像我被迫采用一种特定的设计/建筑,但正是这样,我暂时逃避了......

matlab signals simulink renaming bus

6
推荐指数
1
解决办法
1511
查看次数

你能把以下线索拼凑起来帮我读出Winbond W83793芯片的温度吗?

我试图让OpenHardwareMonitor从我的Supermicro X7DWA主板上的Winbond W83793芯片中读取温度数据.问题是我没有任何低级编程经验,并且在线可用文档似乎不足以解释如何访问温度.

但是,在我一直在研究这个问题的那个月里,我发现了一些可能是解决问题的关键值和低级方法.我只需要弄清楚如何使用它们来获得我想要的东西.这就是我转向你的地方,因为你可能会理解这些信息的含义,以及如何应用它,与我不同.我已经完成了我的公平分享,导致许多蓝屏和计算机重启.足够的猜测,我需要将这些线索拼凑在一起.这是我目前所知道的:

  1. 要从芯片读取,我将以某种方式需要访问SMBus,因为这是监视程序(如CPUID HWMonitor)获取信息的方式.据我所知,OpenHardwareMonitor没有任何代码可以访问SMBus,这就是它可能无法从芯片读取的原因.但是,OpenHardwareMonitor在其Ring0类中包含以下方法,用于访问其他芯片的信息.我可以使用这些方法对我有利:

    void Ring0.WriteIOPort(uint port, byte value);
    byte Ring0.ReadIOPort(uint port);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在其他信息中,HWMonitor在保存报告时向我报告有关Winbond W83793芯片的以下信息:

    寄存器空间:SMBus,基址= 0x01100

    SMBus请求:通道0x0,地址0x2F

    看起来这些是重要的值,但我不确切地知道它们的含义,以及如何将它们与上面的Ring0方法结合使用.嗯...这么多线索.HWMonitor显示的其他值是实际电压,温度和风扇速度,以及表示芯片某处数据的十六进制值数组,如果您想查看它,我将在此处重现.

  3. 最后,在W83793数据表中,在第53页(如果您打开文档),这里是我希望阅读的温度十六进制的地址(我相信):

    TD1读数 - Bank 0地址1C

    TD2读数 - Bank 0地址1D

    TD3读数 - Bank 0地址1E

    TD4读数 - Bank 0地址1F

    低位读数 - Bank 0地址22

    TR1读数 - Bank 0地址20

    TR2读数 - Bank 0地址21

到目前为止,这就是我所知道的.OpenHardwareMonitor,W83793芯片和Ring0代码可通过上面提供的链接获得.正如我之前所说的那样,我已经有一个月了,我还没有能够解决这个谜团.我希望你能帮助我.所有这些信息可能看起来有点令人生畏,但我确信这对具有一些低级编程经验的人来说是有意义的.

总结一下我的问题,使用上面提供的线索来弄清楚如何让OpenHardwareMonitor读取W83793芯片的温度.我不需要在OpenHardwareMonitor中创建芯片的细节.我已准备好上课了.我只需要序列和格式来编写Ring0命令,如果这是我需要做的.

编辑:我发现了一些更多的信息.我从HWMonitor打印了一个SMBus设备报告,除此之外,我得到了这一行,包括在这里因为它说0x2F:

SMB设备:I/O = 0x1100,地址0x2F,通道= 0

这必然意味着我需要以某种方式将I/O的地址与芯片的地址组合在一起,这似乎是0x2F.我尝试将它们加在一起然后我得到所有温度读数为255,所以这不是正确的猜测.

c# hardware monitoring open-source bus

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

原子变量上下文中的总线锁定是什么?

我使用 C++ 很长时间了,现在我开始学习汇编并学习处理器的工作原理(不仅仅是为了好玩,而且我必须作为测试程序的一部分)。在学习汇编时,我开始听到一些我在讨论多线程时在这里和那里听到的一些术语,因为我在科学计算中做过很多多线程。我正在努力获得完整的图片,我很感激帮助我扩大我的图片。

我了解到,最简单的总线就像一个多路复用器,然后是一个多路分解器。每端都以一个地址作为输入,以便将两端与一些外部组件连接起来。两端可以根据地址指向内存、显卡、RAM、CPU寄存器或其他任何东西。

现在开始我的问题:我一直听到人们争论是使用互斥锁还是原子来确保线程安全(我知道没有最终答案,这不是我的问题,但我的问题是关于比较)。例如,这里声称原子是如此糟糕,以至于它们会因为总线锁定而阻止处理器做体面的工作。

有人可以详细解释一下总线锁定是什么,以及为什么它不像互斥锁,而 AFAIK,互斥锁需要至少两个原子操作来锁定和解锁。

c++ multithreading mutex atomic bus

5
推荐指数
2
解决办法
2047
查看次数

是否有通用的I2C命令来查看总线上是否仍有设备?

是否有一般的I2C命令来查看设备在初始化一次后是否仍然存在?例如OLED显示器.我之所以这样做的原因是为了避免主程序冻结(当设备断开连接时),因为库代码中存在无限循环,例如Wire库.

在启动MCU时,我想检查设备是否可用,并在设备可用时进行初始化.我用这个功能这样做,工作得很好.....

bool MyClass::isPnpDeviceAvailable( uint8_t iAddress, bool bIsInitOnce = false )
{
     // Try to start connection
    Wire.beginTransmission( iAddress );

     // End connection without STOP command if already is initialized
    return ( Wire.endTransmission( !bIsInitOnce ) == 0x00 ); // No Error?, return true
}
Run Code Online (Sandbox Code Playgroud)

....但是,当我想检查设备是否仍然存在时,在执行更新之前,当我这样做时:

// 1.
if( isPnpDeviceAvailable( 0x3C, true )) 
 { /* Cause program hang */ }
// 2.
if( isPnpDeviceAvailable( 0x3C )) 
 { /* Cause display to turn off  */ }
Run Code Online (Sandbox Code Playgroud)

是否有通用命令,说/只发送一个"Hello,你在那里"并等待回复而不发送START和STOP命令而不中断设备/总线状态?


这是我用附件(可选的PNP I2C)显示器制作的原型设备.

具有PNP I2C显示的设备

c++ arduino i2c bus

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

就硬件(总线)信号而言,术语“断言”是什么意思?

阅读硬件总线规范时,我经常遇到诸如:“当控制器看到已发出总线请求时,它会断言总线授予线到第一个设备。”

“断言”一词在这里究竟是什么意思?它像“激活”一样简单,还是还有更多?

hardware assert bus

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

如何使用 .net core c# 将 azure 服务总线发布者 opentelemetry 范围链接到另一个进程中的订阅者跟踪

我有 2 个进程正在运行

webapi :将消息发布到azure服务总线队列

控制台应用程序:订阅队列中的消息

我正在使用带有 yaeger、.net core 6、c# 的开放式遥测收集器

我能够看到发布到 yaeger 队列的 .net core webapi 的痕迹

我还可以在 yaeger 中看到来自 .net core 控制台应用程序订阅者的痕迹。

但是,我在 webapi 跟踪中没有看到订阅者的跨度。不知道我错过了什么。尝试将订阅者跟踪/跨度链接到父 webapi 跟踪,以便我可以看到完整的跟踪。

我关注了这些链接 https://devblogs.microsoft.com/azure-sdk/introducing-experimental-opentelemetry-support-in-the-azure-sdk-for-net/https://learn.microsoft.com/en -us/azure/service-bus-messaging/service-bus-end-to-end-tracing?tabs=net-standard-sdk-2

我确实看到订阅者遇到了 Diagnostic-Id,无法将其链接到来自发布者 webapi 的跟踪

任何建议表示赞赏。

======== 用户控制台应用程序上的酒店设置代码 =======


        static async Task Main()
        {
            AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
            AppContext.SetSwitch("Azure.Experimental.EnableActivitySource", true);

            //--------------  Tracing --------------------
            var env = "Development";
            var applicationName = "ConsoleAppQueueProcessor";
            var assemblyVersion = Assembly
                .GetExecutingAssembly()
                .GetCustomAttribute<AssemblyFileVersionAttribute>()!
                .Version;

            meter = Measures.GetMeter(Measures.InstrumentationName);
            ConsoleAppQueueProcessorCounter = meter.CreateCounter<int>("ConsoleAppQueueProcessor");



            using var openTelemetry = Sdk.CreateTracerProviderBuilder() …
Run Code Online (Sandbox Code Playgroud)

.net service azure bus open-telemetry

5
推荐指数
0
解决办法
777
查看次数