03 2016 档案
摘要:背景: 有些程序由于需求不一致,因而需要编译成不同版本的烧录文件,以屏幕为例,有各种尺寸的屏幕,其驱动文件几乎不一样,若是因为屏幕不一样而特意另外写一版软体,不仅麻烦而且不便于版本管理。因此条件编译在此处即可大显身手。 正文: 1、#if, #elif, #else, #endif条件编译。 此含义
阅读全文
摘要:背景: 最近一直在使用C8051F340 + SJA1000来实现CAN通信,就SJA1000部分做个记录。 正文: 整个系统结构拓扑图如下: 两路CAN,C8051F340作为CPU,处理CAN与USB数据。 转入正题,关于SJA1000的中断。 SJA1000的/INT脚与单片机的外部中断输入脚
阅读全文
摘要:背景: USB理论知识光看着空想总觉着丢三落四,好像哪里没法理解到位,自己做个总结。 正文: 1、 USB通信的最基本单位是“包”。如果把“包”肢解的话,可以分为各种“域”(7类,即一串二进制数。每类域均有具体的位数规定)。 包有三种:令牌包,数据包,握手包 a) 令牌包:输入包,输出包,设置包,帧
阅读全文
摘要:背景: 由于VC++6.0对于现在的我来说,只是一个工具,暂时没有太多的时间分配到这块去深究它,由于不明其原理,因此也只是在此把错误积累下来,以备下次相同错误出现时能快速排除,节省时间。 正文 一、出现警告“warning c4273:inconsistent dll linkage” 在报错的XX
阅读全文
摘要:背景: 由于下位机做的一些东西,总是需要通过上位机来验证,以及为了直观给客户展示下位机的功能,所以时常需要编写一些简单的APP。今天就以VC++6.0为例,简单的记录下该如何快速的创建一个APP。 正文: 首先,本次工程文件名为“GPIOTest”,按照MFC向导一路往下,使用Dialog base
阅读全文
摘要:背景: 最近使用VC++6.0做一个界面,供测试CAN通信使用。由于客户希望我们提供简单方便的函数接口让其最快速使用CAN,DLL(动态链接库)是不二之选。做DLL需要两个VC窗口进行测试才方便。可是VC++6.0默认只打开一个窗口,本文即介绍如何同时打开多个窗口,以及为了方便编码而添加行号插件和解
阅读全文

浙公网安备 33010602011771号