- 博客(17)
- 资源 (4)
- 收藏
- 关注
转载 中断多任务+状态机 单片机软件结构设计(转)
mcu由于内部资源的限制,软件设计有其特殊性,程序一般没有复杂的算法以及数据结构,代码量也不大, 通常不会使用OS (Operating System), 因为对于一个只有 若干K ROM, 一百多byte RAM 的 mcu 来说,一个简单OS 也会吃掉大部分的资源。 对于无 os 的系统,流行的设计是主程序(主循环 ) + (定时)中断,这种结构虽然符合自然想法
2016-09-30 10:12:40 3522
转载 单片机程序架构--时间片轮询法
对于单片机程序来说,大家都不陌生,但是真正使用架构,考虑架构的恐怕并不多,随着程序开发的不断增多,本人觉得架构是非常必要的。前不就发帖与大家一起讨论了一下《谈谈怎样架构你的单片机程序》,发现真正使用架构的并不都,而且这类书籍基本没有。 本人经过摸索实验,并总结,大致应用程序的架构有三种:1. 简单的前后台顺序执行程序,这类写法是大多数人使用的方法,不需用思考程序的具体
2016-09-30 10:05:57 3092 2
转载 基于状态机的按键扫描的实现
一般的按键输入软件接口程序非常简单,在程序中一旦检测到按键输入口为低电平(有时可能为高),便采用软件延时的方法来进行消抖,然后再次检测按键输入,如果再次确认为低电平则表示有按键按下,转入执行按键处理程序。如果延时后检测的电平为高电平则放弃本次按键检测,重新开始一次按键检测过程。在简单的系统中这种方法比较可以用,但是在复杂的系统实时性要求较高的系统中这种方法的CPU利用率比较低,造成资源的浪费。另外
2016-09-29 21:38:30 577
转载 如何提高单片机程序执行效率?
首先什么是执行效率。我们平常所说的执行效率就是使用相同的算法在相同输入条件下完成相同计算所产生的系统开销,目前来说一般会更多关注执行时间方面的开销。所有语言编写的代码最终要运行,都要转化成机器码。在更短的时间内完成相同的事那么效率就高。关于如何提高C语言程序的执行效率,以我多年的编程经验在这里我来谈谈我的想法:1.尽量避免调用延时函数没有带操作系统的程序只能在while(1)里面循环执
2016-09-29 15:48:15 8599 3
转载 MPEG音频文件格式(包括MP3文件格式)详解
最近又在做MP3相关的程序,需要了解mp3的文件格式,于是就从网上找了一些资料,并将内容整理如下,加入了自己的一些理解。 MP3 文件是由帧(frame)构成的,帧是MP3 文件最小的组成单位。MP3 的全称应为MPEG1 Layer-3 音频文件,MPEG(Moving Picture Experts Group)在汉语中译为活动图像专家组,特指活动影音压缩标准,MPEG 音频文件是MPE
2016-09-28 21:17:40 4268
转载 外部中断的按键,软件滤波实现方法
按键分为机械按键和触摸按键,每种按键都有不同程度的抖动。这里我们来说下机械按键吧,新手都会接触到。我用的板子是MSP430G2553 的那块红色的板子做的。上面的独立按键有一个,接在P13口上,我自己制作了一个LCD5110的转接板,渣手工。下面讨论我们的重点,按键。对于机械按键,抖动的原因是因为刚性接触时候会发生碰撞之类的,所以并不是可靠地接触,所以会产生抖动,那么我们的软件就要
2016-09-26 17:17:17 1901
转载 C语言指针函数和函数指针详细介绍
C语言指针函数和函数指针详细介绍浏览:4830|更新:2013-05-07 15:51|标签:c语言 往往,我们一提到指针函数和函数指针的时候,就有很多人弄不懂。下面就由南宁达内小编详细为大家介绍C语言中指针函数和函数指针。一、指针函数 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需
2016-09-24 00:53:36 547
转载 单片机实现多级菜单
单片机实现多级菜单1、首先定义一个机构体如下typedef struct { uchar current; uchar up;//上键 uchar down;//下键 uchar enter;//确认键 void (*current_operation)(); } key_table;结构体
2016-09-20 22:01:51 21300 26
转载 如何注册DLL文件
如何注册DLL文件将您下载的 "*. DLL" 文件复制到 "C:\Windows\system32\" 系统目录下 然后按 "Win键+R" 或单击 "开始"->"运行" 输入 "regsvr32 *.dll" 命令注册到系统文件。适用于Windows XP/2003/vista/win7/win8.如何注册Windows\system32\下的所有.dll和.ocx文件?
2016-09-19 09:56:56 1939
转载 在Keil MDK编译环境下使用UEstudio编写程序
在Keil MDK编译环境下使用UEstudio编写程序由于一些原因目前只能使用ulink2来调试arm微处理器,因此不得不放弃iar与jlink。转入MDK的阵营后,为了减小对自己的习惯的影响,今天花了一些时间整理了在MDK下如何使用UEstudio来编程,并顺利完成。经验宝贵,也为了广大网友节省时间,特分享如下:上面即为配置的全部东西。当然,如果只想配置的话,看到这
2016-09-14 16:34:21 2091
转载 让Ultra Edit和Keil结合的更紧密
让Ultra Edit和Keil结合的更紧密 搞单片机的工程人员一般都喜欢用Ultra Edit编辑器,因为它可以把编程的语言关键字能够高亮彩色显示,还能够很好的支持中文。虽然keil也可以把关键字高亮彩色显示,但对中文的支持不是很好。另外,Ultra Edit编辑器与keil编辑器还有“感知”能力,当我们在其中的一个编辑器改变了编辑的内容再打开另一个编辑器的时候,就会出现一个提示窗口,提示我
2016-09-14 16:05:22 2665
转载 简单C语言编程规范
基于C语言的变量命名规范一般情况下,变量的取名方式为: + 类型前缀+限定词。 常用的一般数据类型的前缀变量类型前缀实例备注位域bitbitRXEN寄存器控制接收使能的位BoolbbTurnOn
2016-09-14 11:16:46 331
转载 常用的TTL与CMOS电平转换方案
1. 常用的电平转换方案 (1) 晶体管+上拉电阻法 就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。 (2) OC/OD 器件+上拉电阻法 跟 1) 类似。适用于器件输出刚好为 OC/OD
2016-09-14 10:25:39 9052
转载 TTL电平和CMOS电平总结
TTL电平和CMOS电平总结1,TTL电平: 输出高电平>2.4V,输出低电平=2.0V,输入低电平2,CMOS电平: 1逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限。3,电平转换电路: 因为TTL和COMS的高低电平的值不一样(ttl 5vcmos 3.3v),所以互相连接时需要电平的转换4,OC门,
2016-09-14 10:05:53 18461 1
转载 SPI中的极性CPOL和相位CPHA是什么以及如何设置
SPI中的极性CPOL和相位CPHA是什么以及如何设置 2012-04-07 10:10:47分类: LINUX【背景】最近在看关于Silicon Labs的C8051F347的某个驱动中,关于SPI部分初始化的代码,看到其对于SPI的设置为CPOL=1,CPHA=0,对于CPOL及CPHA的含义不了解,想要搞懂,这两个参数到底是什么意思,以
2016-09-14 09:39:48 6183 1
转载 SPI总线
浅谈SPI总线作者:huqin 来源:本站原创 点击数: 3417 更新时间:2014年08月16日 【字体:大 中 小】SPI总线概述 SPI全称是串行外设接口(Serial Peripheral Interface),是由Motorola提出的一种全双工同步串行通信接口,通信波特
2016-09-14 09:27:23 578
转载 IIC 总线讲解
IIC 总线 (2012-05-10 10:56:44)转载▼标签: 杂谈分类: driver_interfaceIIC总线是PHILIPS公司推出的一种串口总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串口总线。IIC总线只有两根双向信号线。一根是数据线SDA,一根是时钟线SCL
2016-09-14 09:20:39 817
MDK-Keil编译器使用的一些设置
2016-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人