摘要: 在这里首先感谢wzt的文章《ucgui液晶显示深度优化篇》写的很详细,运行很高效。http://www.docin.com/p-453546222.html 在这里我提出另一种方法,在完全不破坏原有的uCGUI接口功能上进行强力提速。当然速度方面要弱于wzt的速度,当然优点就在于不破坏所有接口功能,保留下了uCGUI的所有功能。例如两个图片交叉异或显示。好了,下面开始改进。 这里先提一下我用的LCD是3.2寸SSD1289屏,神舟三号开发板。 这里不管用什么屏,只要屏写像素点后如图所示移动就可以了。 从这里大家应该也看出来了, 我主要用到的方法就是在写连续像素时省去每次设置坐标点的问题。这就是 阅读全文
posted @ 2012-09-28 01:47 Hiker天下 阅读(6470) 评论(7) 推荐(3) 编辑
摘要: 在写了uCOS-III移植后,一直想把GUI移植上去。经过不断的努力,有了不错的进展。下面对移植过程进行详解,以方便大家共同学习。 我用的是uCGUI3.98版,在网上找了很久, 可是还不是完整版的。没办法,算是比较全的了,只好先用着。官方是4.03版的但是没有源码,是以库的形式。在搞开发的时候, 可以用官方提供的VC工程去开发,可以省去大量烧写芯片的时间。 我用vs2008测试过可以正常运行。一、环境: 软件:STM32F10x 3.5固件库。MDK4.23 编译器。uCos-III v3.03。uCGUI v3.98。 硬件:神舟三号开发板STM30F103ZE芯;3.2寸屏320*240 阅读全文
posted @ 2012-09-09 21:06 Hiker天下 阅读(21603) 评论(16) 推荐(7) 编辑
摘要: 在实时多任务系统中,定时器的喂狗不能在像硬件编程那样在循环中喂狗。ucos系统中,多个任务就像把程序划分成了多个main()。喂狗也不像无系统程序那么简单。在参考了网上高手的帖子后,总结了以下几种方式:方法1:在最低优先级进行硬件喂狗。问题:在压力程序的运行下,低优先级任务可能会长时间无法获得cpu的使用权,并且无法知道死任务是哪一个。方法2:在高优先级的任务中,对各个任务进行软件判断。 问题:同时造成高优先级的浪费,原先高优先级的操作会被看门狗抢占。丧失实时系统的优势。方法3:使用一个低优先级定时器,定时对所有任务进行判断,查看每个任务内的软件看门狗是否被清零,对未被被清零的任务进行异常次数 阅读全文
posted @ 2012-08-05 00:50 Hiker天下 阅读(3452) 评论(1) 推荐(1) 编辑
摘要: 最近在百度上看了uCOS-III 的介绍后,诸多功能有很大的提升和改进,感觉有必要升级一下开发环境。百度介绍:http://baike.baidu.com/view/8531313.htm环境:STM32F10x 3.5固件库。MDK4.23 编译器uCos-III v3.03 1. uCos-III 源文件KRN-K3XX-000000.zip 官网http://micrium.com/page/downloads/source_code 我的网盘:http://115.com/file/anr4r6a8#2.uCos-III 官网 移植程序 Micrium_uCOS-III-STM32.. 阅读全文
posted @ 2012-06-13 01:26 Hiker天下 阅读(24712) 评论(18) 推荐(10) 编辑
摘要: 环境:STM32F10x 3.5固件库。下载地址http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zipMDK4.23 编译器一、第一步新建工程 取名 NewProject图1二、选择芯片型号图2三、点否,不加载启动文件(后面我们自己手动添加)图3四、在工程下新建STM32LIB,OBJ,LIST,APP四个文件夹(文件名可自定)。在STM32LIB文件夹下新建M3文件夹。复制STM32F10x_StdPeriph_Lib_V3.5.0\Librarie 阅读全文
posted @ 2012-05-31 00:40 Hiker天下 阅读(9992) 评论(10) 推荐(4) 编辑
摘要: 在做有AD模块项目的时候遇到几个问题:1, ADC配合DMA采样规则是怎样的。2, ADC在DMA采可否不连续采样,以提高有效采样使用率和降低功耗。3, 如何提高有效利用率和降低功耗,并减少CPU的占用时间。4, ADC的如何多通道采样。针对以上几个问题做解答。ADC的采样模式主要分两个:规则采样和注入采样。规则模式可采样16个通道,注入模式最多只能4个通道。配合DMA使用时主要是用规则采样模式。在初始化时配置采样端口为规则采样通道即可如下:列: ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5 阅读全文
posted @ 2012-05-25 00:47 Hiker天下 阅读(35411) 评论(0) 推荐(3) 编辑
摘要: Stm32f103 DAC 学习笔记最近在做电流型信号输出的项目,遇到了些问题这里把这些解决方法做一个笔记方便以后运用。在搞这个的时候因为手册这部分讲的不是很详细,所以在使用上也遇到了些阻力。用的是64封装的芯, 此芯ADC的基准Vref+和电源是同一个端口,Vref-共用电源地。在电池输出时AD值为0时 取样电阻100欧姆有0.66mA的电流输出,只要在初始化时只要失能端口输出缓冲,输出可到0.0025mA。OK问题就解决了。 1 void AnalogInit(void) 2 { 3 DAC_InitTypeDef DAC_InitStructure; 4 GPIO_In... 阅读全文
posted @ 2012-05-24 23:27 Hiker天下 阅读(4371) 评论(0) 推荐(0) 编辑
摘要: 第一次用Developer Express插件开发软件, 就被吃了一个闭门羹。 开发出来的winform安装部属打包后。软件在目标计算机上无法打开,双击后只是闪动一下, 就没有反应了。这里要提一下目标计算机上以经安装了(.net framework 3.5)一直折腾了三天,好是崩溃,网上这方面的相关资料又太少了。不过偶然间看到还是有人也有同样的问题。所了这些相关的论坛,才知道原来是因为dev控件注册问题。所以写这下贴,以方便后来的朋友不走弯路。当然如果还有更好的方法还希望可以赐教。下面我先说下我用的环境:Developer Express_11.1.6, vs2008, c# winf... 阅读全文
posted @ 2012-03-22 23:27 Hiker天下 阅读(11367) 评论(10) 推荐(3) 编辑
摘要: 看了很多的文章,写的都很简单(其实也很简单:))。给出个详细一点的教程。1. 利用VSPD将PC上的两个虚拟串口连接起来。如图我将COM2 和COM3连接起来。点击Addr pair。2. 可以看到Virtual ports上将两个虚拟串口连接到了一起了。3.虚拟串口准备就绪了。先将直接输入命令的方式来调试。我们打开KEIL MDK的,设置成仿真的模式。点DEBUG.在COMMAND串口输入:MODE COM2 38400, 0, 8, 1说明:MODE命令的作用是设置被绑定计算机串口的参数。基本使用方式为:MODE COMx baudrate, parity, databits, stopb 阅读全文
posted @ 2012-03-12 19:35 Hiker天下 阅读(22589) 评论(5) 推荐(2) 编辑
摘要: 前些时间写做了两款用NMEA协议的上位机,在这里做一个总结和记录。和大家分享,也为了以后不会忘记。NMEA协议总体来说,相对简单,是气象上比较成熟的协议。主要有以下几个参数及其格式:风速和风向;空气温度;土壤温度;湿度;大气压;注:其中效验部分主要采用的 异或效验:即从$后第一个字符到’*’前一个字符进行异或。所得到的数据高4位,低4位的ASCII码。<CR>: ‘\r’<LF>: ‘\n’波特率:4800刷新频率:1Hz在上位机的设计中,所有的接收方式都是被动的。所以处理上非常好做,只需要读取特定的数据位就可以,将其转为数据即可。由于每一段数据都是以’\n’结尾,所以 阅读全文
posted @ 2012-02-22 20:36 Hiker天下 阅读(3589) 评论(1) 推荐(3) 编辑