单片机编程开发技巧
来源:互联网 发布:手机fps软件 编辑:程序博客网 时间:2024/06/02 10:40
工作了7个月之久,对单片机的编程也开始慢慢熟悉起来,以前总是知道单片机就是定时器,状态机,中断这些东西结合起来效率是相当高的,但是自从接手开发GPF这个芯片之后,我发现了另外一种单片机的开发技巧,高手请绕道。
我们都知道,在程序中,延时会影响单片机的实时性能,导致效率明显降低,但是在GPF这个芯片的开发中,系统延时和初始化被供应商做到了一块,所以调用程序,必须要做一定的loop才能使得程序能够正常的跑起来,其实我也不知道她们为什么要这么做。
在工作中,改一份源码不是随随便便就可以改的,当时做了这么一个程序,源码我就不公开了,写个案例解释:
void test(){int i = 0 ;int tick ;int BatteryStatus = 0;int Voltage ; int count = 0 ;int Voltage_value ;char ch ;scanf("%d",&BatteryStatus);while(1){delay_20ms();switch(BatteryStatus){case 1: if(count == 50) { printf("0x%x\n",0xE1);count = 0 ; };break ;case 2: if(count == 50) {printf("0x%x\n",0x90); //发通用'1'信号count = 0 ; };break ;default:break ;}count++ ;#if 0 ch = getch(); //假设我在这设立一个按键if(ch == 'q'){printf("%x",0x48); break ;}#endif}}在while循环中,首先进去是延时20个ms,然后count计数器加加,当加到50次也就是一秒钟了,然后清零。此时若按下按键,不会受到干扰,程序正常运行,效率依然很高。如果这时候delay_20ms改成delay_1000ms,程序扫描按键每次就要等待1s钟,影响效率。计数值可以自我估计一下,不需要太准,这样的程序在延时不需要太精准的可以实现和定时器差不多一样的功能。
0 0
- 单片机编程开发技巧
- 单片机应用编程技巧
- 单片机应用编程技巧
- 单片机应用编程技巧
- PIC单片机编程小技巧
- 单片机应用编程技巧 (FAQ)
- 51单片机--LED类编程技巧
- 51单片机--LED类编程技巧续
- 51单片机--机械按键类编程技巧
- 51单片机开发中的问题与技巧
- 单片机编程语言与开发环境
- 单片机的编程语言和开发环境
- 单片机应用编程技巧---MCU专家答网友问
- 单片机应用编程技巧---MCU专家答网友问
- 51单片机操作系统开发中的问题与技巧
- 51单片机操作系统开发中的问题与技巧
- 单片机开发中应掌握的几个基本技巧
- 51单片机操作系统开发中的问题与技巧
- 数据库
- hadoop 第一节 安装与配置
- MySQL保存或更新 saveOrUpdate
- 解决Volley上传Bitmap问题
- [期望DP] BZOJ 1417 Pku3156 Interconnect
- 单片机编程开发技巧
- 精通iOS开发--第15章 Grand Central Dispatch和后台处理之程序生命周期 NSNotificationCenter和线程
- Android开发资源整理
- FrameWork创建
- jdbc入门一(简单使用)
- tomcat用户配置
- Call requires API level 11 (current min is 10): android.content.ContentResol 解决方法
- 文本属性Attributes
- 1B. Spreadsheets