objective-Python 代码转到Objective-C

问题描述

Python 代码转到Objective-C

请教高手以下代码是什么意思,怎么把它转换成Objective-C,
现在在做一个设备,无法和CL-200A这个光照计通讯,对串口方面的技术不太了解,请教各位。
设备使用以下方式通信
[STX]+"00541???"+[ETX]+[BCC (="13")]+[DELIMITER] ?
? Half-duplex communication
Parameter Details
?Communication method Start/stop synchronization; Half duplex
Baud rate 9600bps (fixed)
?Character length 7 bits
Parity Even
?Stop bits 1 bit
Delimiter code CR+LF

以下是别人给的Python代码,安装了pyserial,能和设备通信,但是不知道如何使用Objective-C实现,或怎么调用Python的代码
#There are some initialize commands and response, any guys can update the port name for your used.
#Note: this need the python serial support

import serial
import time

portname = ‘/dev/cu.usbserial-A902WJ0N’
port = serial.Serial(port=portname,baudrate=9600,bytesize=7,parity=‘E’,stopbits=1,timeout=2)
print port

#init commands
#some commands is not any response, but I do not skip it, this code is just demo
command=[‘023030534312020200331330d0a’,’02393535312020300330320d0a’,’023030340313020200330360d0a3’,’0239393430323120200330340d0a’,’0239393430323120200330340d0a’]

for str in command:
hexer = str.decode(‘hex’)
port.write(hexer)
response = port.read(15)
time.sleep(0.1)
print response

#read datas from CL200A device
command_readdata = [‘0230303032313230300330320d0a’,’0230303033313230300330330d0a’]

for str in command_readdata:
hexer = str.decode(‘hex’)
port.write(hexer)
response = port.read(40)
time.sleep(0.1)
print response

port.close()

设备通信说明
? Commands from the PC to the CL-200A and command responses from the CL-200A are fixed- length strings (ASCII code).
? Half-duplex communication is used. Because of this, when sending a series of commands, it is necessary to receive the command response (including the delimiter code) from the instrument for each command and wait the specified length of time before sending the next command. However, certain commands do not provide a command response.
? For connecting the CL-200A with a PC, use the exclusive Communication Cable T-A15 (sold separately).

解决方案

应该是usb模拟的串口的双工通讯。具体要结合硬件设备才好编程。

解决方案二:

我们搞了一个多礼拜,还是搞不定,老大说是半双工,半双工 Half-duplex communication怎么配置?

解决方案三:

别人用Python很容易就实现了,但是没有给我们深入的讲解原理。

解决方案四:

基本就是串口开发,你需要知道oc的串口开发API,然后就是配置参数。

时间: 2024-11-08 18:29:53

objective-Python 代码转到Objective-C的相关文章

XGBoost参数调优完全指南(附Python代码)

简介 如果你的预测模型表现得有些不尽如人意,那就用XGBoost吧.XGBoost算法现在已经成为很多数据工程师的重要武器.它是一种十分精致的算法,可以处理各种不规则的数据. 构造一个使用XGBoost的模型十分简单.但是,提高这个模型的表现就有些困难(至少我觉得十分纠结).这个算法使用了好几个参数.所以为了提高模型的表现,参数的调整十分必要.在解决实际问题的时候,有些问题是很难回答的--你需要调整哪些参数?这些参数要调到什么值,才能达到理想的输出? 这篇文章最适合刚刚接触XGBoost的人阅读

如何从 IBM InfoSphere Streams 调用 Python 代码

概述 IBM InfoSphere Streams 是一个高性能的实时事件处理中间件.它独特的优势在于能够从各种不同的数据来源获取结构化和非结构化数据,以用于执行实时分析.它通过将一种称为 SPL(Streams Processing Language,流处理语言)的易于使用的应用程序开发语言与一个分布式运行时平台相结合来完成此任务.这个中间件还提供了一个灵活的应用程序开发框架,将使用 C++ 和 Java 编写的代码集成到 Streams 应用程序中.除了 C++ 和 Java,许多构建真实

Python代码的缺陷密度最低

据提供开发测试服务的Coverity公司的研究,Python代码缺陷密度数最低,仅仅为每千行代码0.005.行业接受的标准是每千行代码缺陷数1,代码缺陷密度小于1.0,即被认为是高质量代码. 根据2012年度的开源代码扫描报告,开源代码的平均缺陷密度为0.69,而Python是0.005.Coverity扫描分析了最新版Python 3.3.2中超过39.8万行代码,识别出181行新代码有缺陷.注意,分析结果只是表明Python本身的质量优异,而不是指用Python写的程序代码,Python解释

让Python代码更快运行的5种方法

  这篇文章主要介绍了让Python代码更快运行的5种方法,本文分别介绍了PyPy.Pyston.Nuitka.Cython.Numba等开源软件,可以提升Python的运行效率,需要的朋友可以参考下 不论什么语言,我们都需要注意性能优化问题,提高执行效率.选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮.尽管Python从未如C和Java一般快速,但是不少Python项目都处于开发语言领先位置. Python很简单易用,但大多

与Java虚拟机对干?无需操作系统直接运行Python代码

  Josh Triplett以一个"笑点"开始了他在PyCon 2015上的演讲:移植Python使其无需操作系统运行:他和他的英特尔同事让解释器能够在GRUB引导程序.BIOS或EFI系统上运行.连演讲的休息时间也没放过,他有很多有趣的要说的事情,还有许多让人大开眼界的演示. Python在Boot Loader上运行的最初想法是能够测试硬件,像BIOS,可扩展固件接口(EFI)以及高级配置和电源接口(ACPI),而无需去写一些"一次性测试项目"程序集.传统来说

《编写高质量Python代码的59个有效方法》——第3条:了解bytes、str与unicode的区别

第3条:了解bytes.str与unicode的区别 Python 3有两种表示字符序列的类型:bytes和str.前者的实例包含原始的8位值:后者的实例包含Unicode字符. Python 2也有两种表示字符序列的类型,分别叫做str和unicode.与Python 3不同的是,str的实例包含原始的8位值:而unicode的实例,则包含Unicode字符. 把Unicode字符表示为二进制数据(也就是原始8位值)有许多种办法.最常见的编码方式就是UTF-8.但是大家要记住,Python 3

深入理解GIL:如何写出高性能及线程安全的Python代码

6岁时,我有一个音乐盒.我上紧发条,音乐盒顶上的芭蕾舞女演员就会旋转起来,同时,内部装置发出"一闪一闪亮晶晶,满天都是小星星"的叮铃声.那玩意儿肯定俗气透了,但我喜欢那个音乐盒,我想知道它的工作原理是什么.后来我拆开了,才看到它里面一个简单的装置,机身内部镶嵌着一个拇指大小的金属圆筒,当它转动时会拨弄钢制的梳齿,从而发出这些音符. 在一个程序员具备的所有特性中,想探究事物运转规律的这种好奇心必不可少.当我打开音乐盒,观察内部装置,可以看出即使我没有成长为一个卓越的程序员,至少也是有好奇

这段python代码错在哪里了

问题描述 这段python代码错在哪里了 from datetime import dateimport reclass iRates: def init(selfdayrates): self._day=day self._rates=rates class ratesTable: def init(self): self._icon=[] self._tcon=[] def iadd(selfirates): self._icon.append(irates) def tadd(selftr

《编写高质量Python代码的59个有效方法》——第2条:遵循PEP 8风格指南

第2条:遵循PEP 8风格指南 <Python Enhancement Proposal #8>(8号Python增强提案)又叫PEP 8,它是针对Python代码格式而编订的风格指南.尽管可以在保证语法正确的前提下随意编写Python代码,但是,采用一致的风格来书写可以令代码更加易懂.更加易读.采用和其他Python程序员相同的风格来写代码,也可以使项目更利于多人协作.即便代码只会由你自己阅读,遵循这套风格也依然可以令后续的修改变得容易一些. PEP 8列出了许多细节,以描述如何撰写清晰的P

加速你的Python代码

在我看来,python社区分为了三个流派,分别是python 2.x组织,3.x组织和PyPy组织.这个分类基本上可以归根于类库的兼容性和速度.这篇文章将聚焦于一些通用代码的优化技巧以及编译成C后性能的显著提升,当然我也会给出三大主要python流派运行时间.我的目的不是为了证明一个比另一个强,只是为了让你知道如何在不同的环境下使用这些具体例子作比较. 使用生成器 一个普遍被忽略的内存优化是生成器的使用.生成器让我们创建一个函数一次只返回一条记录,而不是一次返回所有的记录,如果你正在使用pyth