Archive for the ‘编程’ Category
首先在 项目->属性->链接->输入->附加依赖项 中加入需要调用的 xxx.lib。 然后将相应的xxx.h添加到项目中,在需要调用dll函数的文件中#include xxx.h 以后就可以直接调用dll中的函数了。 今天使用该方法调用 Freedesign 的CANApplication.dll中的函数,N次链接失败,最后发现是.lib文件的问题。 因为使用该方法调用 ZLGCAN 的ControlCAN.dll中的函数,一切正常。 Incoming search terms:vs2010 mfc dlldll 调用dllvs2010 引用dllvs2010 引用lib文件vs2010 添加dllvs2010 调用DLLvs2010添加 dllvs2010连接dllvs2010静态调用dllvs2010 引入 dll
使用UJA1065过程中,需要对寄存器进行各种操作,你是否为配置各种参数,各种模式而计算每个寄存的值,以及寄存器的地址呢?起码我在使用过程中曾经深受其苦,如果对资料不熟悉,或是象我这样对E文不熟使用这款芯片应该不是那么快就能上手吧?这里给出一份NXP的UJA106x官方头文件,我想在编程时应该是一个很不错的帮助吧,这份头文件适用于“UJA1061”,“UJA1065”,“UJA1066”,“UJA1069”。代码如下,希望能过对需要的朋友有所帮助。
volatile 的意思是易变的、不稳定的。也许很多人根本没有见过这个关键字,或是不知道它的存在,或许有很多人知道它存在,但是从来没有使用过。其实我在做嵌入式程序以前也是不知道有这个么一个关键字的。
volatile关键字和const一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素改变,如操作系统、硬件或其他线程等。编译器在遇到访问这个关键字声明的变量的代码时就不再进行优化了,从而可以提供对特殊地址的稳定访问。
今天是十一假期的第二天加班,第一天加班是10月1号。由于东风S15电动座椅控制器项目周期太短,加上前期样件装车过程中出现一些问题,从而决心将软件重构,本次重构主要为了消除多任务切换时函数重入的一些隐患。在重构过程中发现其实函数中用到的全局变量如果只被局限在一个任务中应该没有重入的风险。所以决定将原先由多个任务来完成的功能合并到一个任务中。重构后程序中只有三个任务,一个用来实现诊断服务,一个用来实现基本功能,还有一个用来做一些EEPROM烧写擦除等比较占用时间的工作。另外对一些故障保护的处理放在中断中去实现,从而达到及时的故障保护效果。本次重构后的软件在继电器输出短路保护上做的还是比较出色的。
今天在写程序时,感到程序中的逻辑判断挺多的,一个函数里的判断太多后自己前后翻来翻去自己搞得都有点晕。所以就想画出流程图来。但是为了这事来画流程图却觉得有点麻烦,这就想到有没有通过通过代码来生成流程图的工具。没想到网上还真有这么些软件。首先搜到的就是CSDN上一位朋友提到的AutoFlowchart。
这几天在写个程序需要在arm7做的平台上既显示UNICODE字符也要显示GB2313字符,查阅很多网站都没有找到UNICODE和GB2312的对应关系,唯一的办法就是做成对应的表。经过不懈的查找,终于在CSDN上找到一个源码,里面有个UNICODE和GB2312的对应表,该表囊括了7445个字符,这个对我实在是太有用了。
经过个人查阅相关的资料和理解,现对C语言的位域做一个总结,对于位域的定义我在这里没有多说,这里主要是对位域有歧义的地方进行系统的总结。个人觉得总结的比较完整,如有不够完整或有异义的地方大家可以留言指点。
位域又叫位段(位字段),是一种特殊的结构成员或联合成员(即只能用在结构或联合中),用于指定该成员在内存存储时所占用的位数,从而可以在机内更紧凑地表示数据。
在失业一个月后终于在今天又开始上班了,来到新公司的第一天便分配到一个任务–用富士通单片机做一个仪表控制。说实话不用单片机已经两年多了,很多东西都已经忘掉,以至于在看程序时都不知道位结构是什么东西了,赶紧上网搜索一下,原来是这么回事……
位结构
位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。
