
程序编程
李迟
李迟,男,已婚,来自岑山溪水之地,家住一垌之尾。毕业于桂林电子科技大学三院1专业。嵌入式软件工程师,摄影师,金融学者,历史家,科学哲学爱好者,社会问题研究者。别号水田居士,木草山人。爱好广泛,精通甚少。古文、诗词、文学、小说、武侠、经济、社会等无所不涉。目前主要混迹于显示器、鼠标、键盘之间。于代码及兴趣之事中有所得,与好友谈之一二,足够了。
-
原创 遇到一个gcc编译器版本导致的运行结果有差异的问题
正在进行的项目中有个网络模块,需要在上位机将数据包加密,然后在设备端将数据包解密。两者使用的加密方法是可逆的(大概是异或之类的)。在我测试时,发现设备上解出来的数据不正常,得不到上位机未加密前的数据。因为这个模块在其它项目一直使用,一直OK,现在出问题了,很郁闷。而且该模块嵌入到其它大的功能模块,后来将加密、解密模块独立出来测试。当定位到解密这个点上,都已经过了大半天了。2015-01-17 14:38:313958
0
-
原创 使用nodejs发送电子邮件
电子邮件在日常工作中有很大用途,凡项目或任务,有邮件来往可避免扯皮背锅。 而在一些自动化的应用场合,也使用得广泛,特别是系统监控方面,如果在资源使用达到警戒线之前自动发邮件通知运维人员,能消除隐藏于前期,而不至于临时临急去做善后方案。 对于多人协合(不管是不是异地)场合,邮件也有用武之地,当有代码或文档更新时,自动发邮件通知项目成员或领导,让各方人员知晓并及时更新(是否更新,取决于人,而非工具)。 说到发邮件,不得不提用程序的方式实现。笔者之前已经开通了腾讯免费企业邮箱,并关联自己的域名,2019-01-15 13:18:449277
2
-
原创 使用golang发送电子邮件
电子邮件在日常工作中有很大用途,凡项目或任务,有邮件来往可避免扯皮背锅。 而在一些自动化的应用场合,也使用得广泛,特别是系统监控方面,如果在资源使用达到警戒线之前自动发邮件通知运维人员,能消除隐藏于前期,而不至于临时临急去做善后方案。 对于多人协合(不管是不是异地)场合,邮件也有用武之地,当有代码或文档更新时,自动发邮件通知项目成员或领导,让各方人员知晓并及时更新(是否更新,取决于人,而非工具)。2019-01-15 13:16:4713020
1
-
原创 使用python发送电子邮件
电子邮件在日常工作中有很大用途,凡项目或任务,有邮件来往可避免扯皮背锅。 而在一些自动化的应用场合,也使用得广泛,特别是系统监控方面,如果在资源使用达到警戒线之前自动发邮件通知运维人员,能消除隐藏于前期,而不至于临时临急去做善后方案。2019-01-15 13:14:596586
0
-
原创 GCC编译警告选项的学习
GCC有很多的编译选项,警告选项;指定头文件、库路径;优化选项。本文针整理一下GCC的警告选项,主要依据http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html文档,并加上自己的一点小小经验。2015-12-11 21:59:039451
0
-
原创 pelco协议及其实现的简单认识
在搞visca的同时顺便也搞了pelco。这里再做个笔记。pelco,中文翻译为“”2014-07-03 13:50:496016
1
-
原创 再记一下sscanf的一个小问题
正在进行的项目中有个网络传输模块,需要在设备端将上位机发送的XML命令解析出来并转发到其它模块。在我测试一个获取数据的命令时,发现上位机读取到的数据是错误,看XML命令格式,明明是对的,但读到的数据就是不正确,肯定有问题。因为网络传输模块在其它项目一直使用,一直OK,现在出问题了,很郁闷。于是使出printf大法跟踪、终于找到问题原因。2015-01-18 16:23:47878
0
-
原创 初识PCI
话说,小弟接触计算机(不是“电脑”)也有很多个年头了,很多名词也能朗朗上口,但仅仅限于名词,对其中的原理却没有深入的了解。像MS DOS,其实也是前段时间才真正“安装”了一个用来更新设备的BIOS。而如USB、ISA、PCI这些简称,同样地不了解,以至于不敢与人谈自己是嵌入式工程师。大学时没有计算接口这一类的课程,自己找书看了,但发现里面讲的和平时所学的差别太大,又感觉自己后面不会用到,所以也就囫...2015-02-09 13:01:382126
0
-
原创 寄存器位域、位操作等示例
#include /*测试结果:struct testregister_value: 0x0000feadenable: 1 type: 6 id: a value: feunion testregister_value: 0x0000feadenable: 0 type: 6 id: a value: fe*//**虚拟的寄存器,各字段:0: enable1~3:2014-06-07 11:02:312659
0
-
原创 遇到一个日志文件变化带来的文件句柄问题
正在进行的项目中有个系统调试日志存储的功能,需要存储打印信息。测试部反馈了一个bug:调试日志文件有时候不更新。对照代码,项目用的代码和之前项目的代码是一样的。感觉没什么问题,我自己测试没发现有不更新的情况,但测试部已经反馈过几次了,肯定有问题。项目deadline很快到了(按计划,应该是本文发表前4天已经是deadline了),——也正因为如此,开始了本年第一次周末加班。项目经理不放过这个问题,经分析代码,最终算是解决了问题。2015-01-25 17:47:121577
0
-
原创 参考ethtool写了个Linux设置、获取网卡模式的接口
差不多一个月没写文章了,这期间,主要是搞一些比较复杂的问题,一直被搞,没有搞其它的东西,也就没写出什么东西来。在找问题过程中,上网了解到ethtool这个工具十分强大,以为这个代码很复杂,而恰好领导要求我提供设置网卡信息的接口,于是下了代码,研究了一下,参考了一下,整理了一下。当然文中写的是第一个版本,要是这样的接口提供出去,其它部门的人肯定会有意见的。Linux内核很早就已经加入2015-03-30 19:27:028332
2
-
原创 gcc较高版本的一些编译警告收集
最近整理了下代码警告问题。这里记录一下。2015-05-06 13:00:296611
0
-
原创 visca协议及其实现的简单认识
最近在搞visca协议,在这里写写,算是个记录。从题2014-06-30 14:09:016677
7
-
原创 pelco-d协议数据解析示例
前段时间写了有关pelco协议的一些笔记,后来,有个小模块是接收pelco格式的数据,然后解析出是什么命令,于是又写了个简单的解析函数。这个函数没什么技术含量。主要思路:1、逐字节解析,保证每一字节都处理到;2、找到0xff,此为命令头;3、找到命令结束字符,方法是根据pelco命令组装的算法,——其实就是当某一字节的值是前面几个的校验和就结束,有一点要校验和正确但长度不符合p2014-08-14 21:57:414322
0
-
原创 一个可变参数类型检查的示例
最近在修正代码警告,发现封装的打印语句不会进行参数的类型检查,而用printf却是可以的。于是上网找了下资料,学习了一下。对于函数参数类型的检查,在gcc环境中可以使用__attribute__((format(printf,N,M)))的形式。2015-05-06 13:00:091333
0
-
原创 用户交互输入--mtd-utils代码一例
用户交互输入示例,来自 typedef int bool;#define true 1#define false 0/** * prompt the user for confirmation */static inline int prompt(const char *msg, int def){ char *line = NULL; size_t l2014-06-03 08:34:22916
0