摘要: 在之前文章中,讲述了一个低内存使用量的的窗口切换机制。有人会问,低内存使用量是多低呢,我这里举个例子。我有一个项目中使用到本切换机制,128*64的单色屏,初步计算有105个窗口(后面还会增加),总内存使用量(包括任务栈)=105*3*4(窗口树) + 1024(公共buff) + 512(任务栈) 阅读全文
posted @ 2014-11-24 22:18 Hiker天下 阅读(3812) 评论(1) 推荐(2) 编辑
摘要: 说到I2C很多用过STMF10X硬件I2C方式的工程师,都感觉有点头痛。大部分还是使用软件模拟的方式,I2C由于一般的工作频率是400,100KHz。所以在平凡读取,或所读数据量大时,使用这模拟的方式,还是比较浪费CPU有效工作时间的。 在之前的使用I2C的经历中,主要是I2C死锁问题让我也困扰了一... 阅读全文
posted @ 2014-04-27 13:40 Hiker天下 阅读(11671) 评论(1) 推荐(2) 编辑
摘要: 之前一直在做驱动方面的整理工作,对驱动的高效性有一些自己的理解这里和大家分享一下。并奉驱动程序,本程序覆盖uart1-8。串口驱动,这是在每个单片机中可以说是必备接口。可以说大部分产品中都会使用,更有甚者一个产品中用到8个串口。这样一个高效的驱动是决定您产品优劣的关键因素。本文主要针对STM32F4... 阅读全文
posted @ 2014-04-27 13:33 Hiker天下 阅读(6898) 评论(1) 推荐(1) 编辑
摘要: 在这个实时操作系统泛滥的年代,有这么一个系统封装接口层还是蛮有必要的。前些时间偶然间在STM32最新的固件库中就发现了这个系统封装接口,当时就把自己所用的系统进行封装。直到最近KEIL5.0发现其中所到的RTX系统也进行了同相的封装。对比了下感觉很有必要和大家分享一下。 采用这个接口层写程序,基本上可以说不用再去管所用的是什么操作系统。相同的代码可以轻而易举的移植到不同的实时系统中。不敢说完全没有改动,但绝对是最少的。其简洁的书写手法,也会给我的应用层带来视觉上的体验感,使用可以尽可能去关注应用。 下面先用uCOS-II系统接口为例进行简单概述:这里是主要的配置区,你所用到哪些功能用0或1来选 阅读全文
posted @ 2013-10-18 23:33 Hiker天下 阅读(10982) 评论(2) 推荐(1) 编辑
摘要: 前段时间在做一个窗口项目,这个项目菜单项过多,在管理起来比较麻烦。想做一个高效移植又方便的一个切换机制。后来在网上多方查找这方面资料,但是感觉比较少。后来自己整理出了这个结构,希望对后来朋友有所帮助。 本结构不只局限与按键操作,同时也支持触摸切换,也可以两者共存同时对窗口进行操作。在按键操作过程中我... 阅读全文
posted @ 2013-07-02 00:01 Hiker天下 阅读(8625) 评论(25) 推荐(4) 编辑
摘要: 这里主要提供几个比较常用的方法。根据自己的习惯选择使用。1快捷功能1, 所选文本注释掉2, 所选文本取消注释3, 所选函数添加注释使用方法,首先把附件替换以下中的utils.em\我的文档\Source Insight\Projects\Base替换后,用SourceInsight打开utils.em文件,把鼠标放在以下三个函数上停留片刻。macro CodeCommentsCancel()macro CodeCommentsEnter()macro CodeHeadAdd()按下图操作,设置完毕后就可以使用了。图12文本对齐方法1:图2方法2:图3图43函数被引用的位置图5 阅读全文
posted @ 2013-03-31 17:55 Hiker天下 阅读(3793) 评论(0) 推荐(0) 编辑
摘要: 相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。 前段时间有项目关于Bootload设计。所以就仔细的去了研究了一翻。以前都是用的stm32官方的,没有去深入了解。这次做完了过后,发现官方的版本存在一些问题。比如说YModem传送过程中,完全 阅读全文
posted @ 2013-03-17 18:18 Hiker天下 阅读(58502) 评论(62) 推荐(5) 编辑
摘要: 在以往的软件开发中,在结构上吃了不少的亏。慢慢的对结构方面逐步重视起来,下面我写一些关结构方面的认识,希望大家指导批评。这样在不段指正下成长 方能造就出,可靠性高,移植性强,维护方便的程序出来。个人感觉,在写代码时,尽量做到模块化。Ucos是个很好的平台,他可以让所有的功能化分为多个模块。在其之间有很好的独立性,就是说只要给你一个任务,就可以完成一个功能。可是任务间有时也会牵扯到数据交互的问题,这个时候就使用模块接口。别人在加载您的模块接口头文件时后,所有的数据都可以通过接口传递了,这样块的封装就可以做的非常独立。这样在功能的删除和增加会变的很简单。不用再为两个模块 重复的枚举,宏而担心。因为 阅读全文
posted @ 2013-03-13 21:09 Hiker天下 阅读(4777) 评论(5) 推荐(4) 编辑
摘要: 关于stm32的示波器,网上以经有很多了。这里还是想把自己的设计思想发表出来。这个项目已经准备了很久。这里首先要感谢以前的团队,非常感觉陈师和覃总两位经验丰富的嵌入式工程师,获得了不少多方面的考虑。如果不是工作调整等原因,很有可能会出产品。但最后没有做完深感遗憾。这里发表下我的设计流程,希望能给做示波器的朋友有一定的帮助。也是让自己对此项目的一个总结。本示波器有效测量频率0.1 ~ 100KHz双通道集成信号发生器时间轴每格 1,2,5递增范围:2us ~ 1s时间轴每屏12格硬件结构:主芯 stm32zet6触摸屏 SSD1289 320*240 RGB565AD: STM32内部ADC 1 阅读全文
posted @ 2013-01-05 16:25 Hiker天下 阅读(11622) 评论(22) 推荐(7) 编辑
摘要: 最近项目中用到几种字体,stm32的内部flash以经入不敷出。没办法!只好找度娘及求助群里的高手,这里对Eric2013 ,洋洋kan世界等高手表示感谢。学习了他们的一些思想。下面是找到的相关链接:http://blog.chinaunix.net/uid-361890-id-2953183.htmlhttp://www.openedv.com/posts/list/9736.htm;jsessionid=6B5FA51FE6BBC280B752D9B63BA57895这里我主要用的是crazytyt文章的方法,在他的基础上进行一定的改进。解决控件用汉字居中等问题。其实我的方法很简单,增加了 阅读全文
posted @ 2013-01-04 00:38 Hiker天下 阅读(4710) 评论(4) 推荐(2) 编辑