《一个菜鸟应用软件工程师的成长故事》(4)
今天是中秋节,祝大家节日快乐。
这篇主要是记录前段时间的工作笔记,还有部分笔记不在这电脑上,等过几天再补上来~
-----------------------------------
日期:2012/9/6,周四
时间:早上10点47分
地点:公司
事件:看SDK培训的entry.c文件,有疑问
-----------------------------------
(1) struct{ int x; int y; }test1;
定义了结构对象test1,缺省结构名,test1.x 和 test1.y 可以在语句里用了。
(2) struct test {int x; int y; }test1;
定义了结构test和结构对象test1,test1.x 和 test1.y 可以在语句里用了。
(3) typedef struct test
{int x; int y; // 你漏打分号,给你添上
}text1,text2;
这种结构struct test的别名叫 text1 或叫 text2,要引用结构里的成员,还得定义结构对象,比如text1 nums,这样,用nums.x就可以引用结构里的变量x了。
-----------------------------------
无参宏定义的一般形式为:#define 标识符 字符串
其中“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。
-----------------------------------
常量指针和指针常量的区别:
常量指针,表述为“常量的指针”,它首先是指针,然后才是常量,指针指向的地址可以改变,但地址里的内容不能改变,也就是说,这个指针只能指向常量a或者常量b。关键字const在*前面。
指针常量,表述为“指针的常量”,它首先是常量,然后才是指针,指针指向的地址不可以变,但地址里的内容可以改变,也就是说,这个指针只能指向内存地址固定的变量a。关键字const在*后面。
------------------------------------
日期:2012/9/6,周四
时间:下午15点34分
地点:公司
事件:SDK培训
------------------------------------
SDK的安装
1.勾选SST和SAT
创建工程
1.编译
2.工程属性,设置参数
3.main由管理器,entry是程序入口
4.F1 F2 F4 F3删除POS里的程序(不包括flash的host)
5.下装(两种不同下装方式,直接拖曳或按键)
6.在TTL查看系统文件配置system.cfg
llt.prm,增加筛选项
7.先运行entry
8.更改名字的方法
9.keycode=0?
-------------------------------------
注册事件
管理器将事件递交给应用程序处理
应用程序返回应答
如若应用程序1不处理事件,则管理器将事件递给应用程序2处理
-----------------------------------
日期:2012/9/7,周五
时间:下午16点21分
地点:公司
事件:SDK培训
-----------------------------------
1.检查设备是否处于空闲状态
2.读取的磁条信息经过处理
3.card simple
4.ethernet、comserial和modem的配置
5.linklayer
6.串口被占用时该去哪里调试
7.user2要记得下载,不然会发生错误
8.找到DLL的地址,用函数调用。下载+链接+指针传递。
9.选定语言,函数调用
10.签名工具admin
11.简单快速地找到所需要的APIs
-----------------------------------
日期:2012/9/10,周一
时间:下午15点32分
地点:公司
事件:下装工具链接POS机
-----------------------------------
1.参照LLT文档,配置LLT的参数,比如调制解调器和COM端口
2.删除POS机里的程序,置于显示LLT的状态。
3.如果无法链接,则检查端口是否正确,必要时可以尝试不同的端口号
4.链接错误时,参考LLT文档,上面有各种链接错误的原因与解决办法
5.下装完毕后,按默认方式配置POS机
-----------------------------------
日期:2012/9/11,周二
时间:上午10点24分
地点:公司
事件:编译training工程
-----------------------------------
1.编译出错,需要在工程属性里配置正确的编译环境参数。
2.只有POS机显示LLT时,才能进行下装。
3.按F0211K可以进入LLT状态,或者在重启时,长按向上键,直到开机。
-----------------------------------
日期:2012/9/12,周三
时间:下午13点35分
地点:公司
事件:修改程序
-----------------------------------
1.新建源文件或头文件,需要在文件名字后面加文件的后缀名。
2.位图需要转换成单色位图,并且大小比例不能超过192*512。
3.调用蜂鸣器是buzzer()。
-----------------------------------
日期:2012/9/13,周四
时间:上午9点40分
地点:公司
事件:修改程序
-----------------------------------
1.某些头文件只能引用一次,不然会发生一些不可预知的冲突和错误。
-----------------------------------
日期:2012/9/14,周五
时间:上午10点21分
地点:公司
事件:修改程序
-----------------------------------
1.调用DLL的函数是BeepDll()
2.DLL也需要下装到POS中
3.DLL的调试需要MOCK-UP模式
-----------------------------------
日期:2012/9/17,周一
状态:请假。
-----------------------------------
日期:2012/9/18,周二
时间:上午11点18分
地点:公司
事件:修改程序
-----------------------------------
1.要检测按键输入,则需要先开启键盘。
2.开启键盘的方法是:
FILE *pxKbd;
pxKbd=fopen("KEYBOARD","w-");
关闭键盘的方法是:
fclose(pxKbd);
3.检测某个设备是否已经打开的方法,比如打印机:
FILE *dll;
dll=stdperif("PRINTER",hPrinter);
if(dll)
{hPrinter =fopen("PRINTER","W-");}
4.按红键,当出现按F的提示时,按F,然后设置键值为5,确认,即进入调试状态。