如何使用ctypes在python中创建char * buffer?

时间:2019-09-02 09:13:56

标签: python dll ctypes

我正在尝试使用Cyclone FX编程器/调试器从IC读取动态数据,然后还将数据写回到IC。

我正在使用python加载dll库,并且可以成功运行。     lib = cdll.LoadLibrary(程序) 然后,我在其中调用函数以连接到程序员。 dll库中的函数为:     uint32_t connectToCyclone(char * nameIpOrPortIdentifier);

Python:
cyc_name = 'CYC_JF'.encode('utf-8')
cyclonefx = lib.connectToCyclone(cyc_name)

这正常,我可以检测到程序员。 现在,我正在使用dll函数从IC读取数据: bool startDynamicDataProgram(uint32_t cycloneHandle,uint32_t targetAddress,uint16_t dataLength,char * buffer);

Python:
serial = ''.encode('utf-8')
lib.dynamicReadBytes (cyc_name, 0x08007000, 4, serial)

但是我的预期输出不正确,这表明我创建的缓冲区不正确。

问题是如何创建可以从C转换为python缓冲区的缓冲区?

0 个答案:

没有答案