- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在 RPi2 上使用代码与 RS485 Shield 进行通信驱动各种继电器。我最近得到了一个 RPi3,之前在 RPi2 上运行的代码在 RPi3 上出现了错误。
首先,我知道蓝牙 Controller 的 RPi3 上的 uart (/dev/ttyAMA0) 被“窃取”。 Using this post ,我将 uart 重新分配给 GPIO 接头,这样 RS485 屏蔽应该像以前一样工作。我向您提供了这段历史,尽管我怀疑问题不在于硬件本身。
问题就在这里。当我在 RPi3 上执行以下代码时,出现错误:
Traceback (most recent call last):
File "serialtest.py", line 15, in <module>
if usart.is_open:
AttributeError: 'Serial' object has no attribute 'is_open'
显然,在 pySerial 库中,串行对象确实具有“is_open”属性。关于为什么抛出此错误有什么建议吗?我在网络搜索中没有找到任何对此特定错误的引用。
#!/usr/bin/env python
import serial
import time
import binascii
data = "55AA08060100024D5E77"
usart = serial.Serial ("/dev/ttyAMA0",19200)
usart.timeout = 2
message_bytes = data.decode("hex")
try:
usart.write(message_bytes)
#print usart.is_open # True for opened
if usart.is_open:
time.sleep(0.5)
size = usart.inWaiting()
if size:
data = usart.read(size)
print binascii.hexlify(data)
else:
print('no data')
else:
print('usart not open')
except IOError as e :
print("Failed to write to the port. ({})".format(e))
最佳答案
如果您在 Raspberry Pi 上安装了旧版本的 pyserial
,pyserial
可能没有 is_open
,但是 isOpen( )
方法代替。根据文档,isOpen()
方法在 3.0 版本中已被废弃。您可以使用 serial.VERSION
检查 pyserial
版本。
关于python - “串行”对象没有属性 'is_open',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987168/
我一直在 RPi2 上使用代码与 RS485 Shield 进行通信驱动各种继电器。我最近得到了一个 RPi3,之前在 RPi2 上运行的代码在 RPi3 上出现了错误。 首先,我知道蓝牙 Contr
如果我在我的代码中包含 if 测试,则会返回错误消息,我不确定为什么。当它不被使用时,我的程序会陷入一个循环,永远不会到达文件的末尾。我不明白出了什么问题。 int countlines() {
这个问题在这里已经有了答案: Where to place file in order to read? (4 个答案) 关闭 6 年前。 为什么我的 is_open() 总是失败并进入显示错误消息
我在尝试加载文本文件时收到访问冲突写入位置错误。在调试时,我注意到我的“is_open()”和“good()”检查都通过了,因为我到达了“while (std::getline(myfile, lin
我有一个类似于下面的函数,它是 const 并且需要在继续之前检查文件流是否打开: bool MyClass::checkSomeStuff() const { // Where output
我用 C++ 编写了一段代码,该代码从文本文件中读取或使用 ifstream/ofstream 创建新文件。我想用 fstream 的 .is_open 成员函数添加一个检查,以查看文件是否已成功打开
我想通过 fstream 将数据写入文件,并在完全(打开-写入-关闭)成功与否时输出。我还想编写尽可能少的代码。这是关于 C++03 的。 解决方案 1(似乎是最优的): std::fstream f
if(!file) 和 if(!file.is_open()) 有什么区别?我用它们来检查文件是否已成功打开/读取。 #include #include using namespace std; in
观察 我根据这个server构建了一个演示应用程序在我使用 C++11 std 替换原先在 boost 中的所有内容后使用 ASIO 的示例。服务器可以显示类成员 tcp_session::start
阅读 Savitch 的 Problem Solving in C++,std::ifstream::fail 以检查文件是否已正确打开(ifstream 或 ofstream)。 正如我第一次看到的
我正在使用 QtCreator 3.6.0 - 基于 Qt 5.5.1(Clang 6.1 (Apple),64 位)。 我正在尝试读取一个文本文件,但我一直收到此错误消息, Unable to op
我正在尝试从 C++ 中的 .csv 文件中读取。调用 myfile.open(file) 后,is_open 返回 true,但 getline 仅返回空字符串。 我曾尝试使用 vector 来读取
#include #include using namespace std; void Readfile(string fname) { ifstream infile(fname);
文件的初始化: ifstream file("filename.txt"); if (file.is_open()) 和 if (!file.fail()) 有什么区别? 我应该使用什么来确定文件是否
也许是个伪问题,但我需要一个明确的答案。这些函数的返回有什么不同吗 int FileExists(const std::string& filename) { ifstream file(file
我已经尝试了几个小时了,但我终究无法让我的 DirectX12 应用程序编写一个简单的文件... 关于我的设置的一些信息: 更新了 Windows 10。 DirectX12 默认的“旋转立方体”应用
尝试使用 fstream 在 C++ 中读取文件。但是 is_open() 函数始终返回 0 结果,而 readline() 不读取任何内容。请参阅下面的代码片段。 #include #includ
我是一名优秀的程序员,十分优秀!