单片机编程开发技巧

简介: 工作了7个月之久,对单片机的编程也开始慢慢熟悉起来,以前总是知道单片机就是定时器,状态机,中断这些东西结合起来效率是相当高的,但是自从接手开发GPF这个芯片之后,我发现了另外一种单片机的开发技巧,高手请绕道。

工作了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钟,影响效率。计数值可以自我估计一下,不需要太准,这样的程序在延时不需要太精准的可以实现和定时器差不多一样的功能。

目录
相关文章
|
存储 芯片
单片机原理与应用以及C51编程技术——硬件体系结构梳理(下)
单片机原理与应用以及C51编程技术——硬件体系结构梳理(下)
293 0
单片机原理与应用以及C51编程技术——硬件体系结构梳理(下)
|
存储 算法 内存技术
单片机原理与应用以及C51编程技术——硬件体系结构梳理(上)
单片机原理与应用以及C51编程技术——硬件体系结构梳理(上)
516 0
单片机原理与应用以及C51编程技术——硬件体系结构梳理(上)
|
存储 芯片
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
373 0
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
|
存储 编解码 芯片
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
563 0
单片机:ADC模数转换实验(内含ADC介绍+XPT2046芯片介绍+硬件电路设计+软件编程设计+原始代码)
|
缓存 开发工具 芯片
单片机:串口通信(内含硬件解析+软件编程)
单片机:串口通信(内含硬件解析+软件编程)
132 0
单片机:串口通信(内含硬件解析+软件编程)
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
304 0
单片机:定时器0和1中断(内含硬件内容详解+软件编程)(ps:此处硬件执行结构间的理解是重中之重)
|
芯片
单片机:直流电机(内含ULN2003芯片,硬件原理及解析,软件编程及注释)
单片机:直流电机(内含ULN2003芯片,硬件原理及解析,软件编程及注释)
157 0
单片机:直流电机(内含ULN2003芯片,硬件原理及解析,软件编程及注释)
|
芯片
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
470 0
单片机:蜂鸣器发声和自动关闭一站式教程:(附赠如何控制声音大小和音调)软件编程+硬件原理+注意事项
|
调度 C语言 C++
《嵌入式C编程:PIC单片机和C编程技术与应用》一导读
我们在各种地方都会发现微型计算机的踪影,如家用电器、玩具、汽车和计算机外设(如键盘或鼠标)。从电池充电器到雷达系统,几乎所有的电子设备中都有微型计算机的身影。
2500 0