03 2016 档案

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