我想要做的事情看起来相当简单,但我有一段时间试图让它发挥作用.我只是尝试使用imshow绘制图像,然后在新数据到达时定期重新绘制它.
我从这开始:
fig = figure()
ax = plt.axes(xlim=(0,200),ylim=(0,200))
myimg = ax.imshow(zeros((200,200),float))
Run Code Online (Sandbox Code Playgroud)
然后我假设我可以像这样调用set_data来更新图像:
myimg.set_data(newdata)
Run Code Online (Sandbox Code Playgroud)
我尝试过许多其他的事情,比如我叫ax.imshow(newdata)代替或者我已经尝试使用figure.show()后set_data().
这个问题与绘制软件过程有关.作为一名电气工程师,我所做的大部分软件都是用于嵌入式微控制器.在学校,我们学会了使用流程图来说明我们的算法.然而,如今,我的许多嵌入式项目都是严重中断驱动的,其中主进程运行一些基本算法,各种中断源提供其刺激.所以,我的问题是,我可以使用哪些图表技术来说明我的流程,以便未来的开发人员能够轻松理解我在做什么并参与开发?
以下是我要寻找的一些关键功能:
我正在使用我的Raspberry Pi 2使用python2.7.9,GPSD和python-gps软件包进行adafruit终极GPS突破.我通过串口成功获得1Hz的gps更新.
据称这个设备能够进行10Hz更新,我想启用它.根据数据表(参见下面的代码段),可以通过串行命令设置.
我的问题是我找不到足够的python-gps模块或GPSD文档,它会告诉我如何用python脚本连续向GPS发送命令.有人能指出我正确的方向吗?
我主要使用嵌入式应用程序(FPGA和微控制器),而且我对git和版本控制一般都很新.我已经开始学习它的强大功能,并希望为同事和朋友设置一些与我合作的项目.这些项目通常在集成开发环境(IDE)中开发,例如MPLAB-X,Code Composer Studio,Libero或Quartus,它们生成二进制文件,提供后台窃听和其他功能.我在一个存储库中设置项目时遇到了一些麻烦,其他人可以克隆它并开始处理它.我发现大多数推荐的.gitignore设置让你忽略主项目文件以及所有额外的二进制文件和双产品,如.tcl脚本和文本报告.通过忽略这些,我发现我正在删除协作者使用相同配置设置开发环境所需的所有信息.但是,如果我在存储库中跟踪它们,那么我的存储库会因为不重要的额外文件(通常是大文件)而陷入困境.这个问题有更好的解决方案吗?
在一个 C++ 项目中,我试图调用这个在 C 中定义的函数:
int CyBtldr_RunAction(CyBtldr_Action action, const char* file, const uint8_t* securityKey,
uint8_t appId, CyBtldr_CommunicationsData* comm, CyBtldr_ProgressUpdate* update);
Run Code Online (Sandbox Code Playgroud)
CyBtldr_ProgressUpdate 也在 C 中定义为:
typedef void CyBtldr_ProgressUpdate(uint8_t arrayId, uint16_t rowNum);
Run Code Online (Sandbox Code Playgroud)
我收到以下未定义的参考错误。我错过了什么吗?
.\bootloader.cpp:88: error: undefined reference to 'CyBtldr_RunAction(CyBtldr_Action, char const*, unsigned char const*, unsigned char, CyBtldr_CommunicationsData*, void (*)(unsigned char, unsigned short))'
Run Code Online (Sandbox Code Playgroud)