日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 單片機編程開發(fā)技巧經(jīng)驗分享

單片機編程開發(fā)技巧經(jīng)驗分享

關(guān)鍵字:單片機 編程 單片機開發(fā) 作者:admin 來源:不詳 發(fā)布時間:2018-05-18  瀏覽:1

 工作了7個月之久,對單片機的編程也開始慢慢熟悉起來,以前總是知道單片機就是定時器,狀態(tài)機,中斷這些東西結(jié)合起來效率是相當高的,但是自從接手開發(fā)GPF這個芯片之后,我發(fā)現(xiàn)了另外一種單片機的開發(fā)技巧,高手請繞道。

我們都知道,在程序中,延時會影響單片機的實時性能,導致效率明顯降低,但是在GPF這個芯片的開發(fā)中,系統(tǒng)延時和初始化被供應商做到了一塊,所以調(diào)用程序,必須要做一定的loop才能使得程序能夠正常的跑起來,其實我也不知道她們?yōu)槭裁匆@么做。

在工作中,改一份源碼不是隨隨便便就可以改的,當時做了這么一個程序,源碼我就不公開了,寫個案例解釋:

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); //發(fā)通用'1'信號

count = 0 ;

};break ;

default:

break ;

}

count++ ;

#if 0

ch = getch(); //假設(shè)我在這設(shè)立一個按鍵

if(ch == 'q')

{

printf("%x",0x48);

break ;

}

#endif

}

}

在while循環(huán)中,首先進去是延時20個ms,然后count計數(shù)器加加,當加到50次也就是一秒鐘了,然后清零。此時若按下按鍵,不會受到干擾,程序正常運行,效率依然很高。如果這時候delay_20ms改成delay_1000ms,程序掃描按鍵每次就要等待1s鐘,影響效率。計數(shù)值可以自我估計一下,不需要太準,這樣的程序在延時不需要太精準的可以實現(xiàn)和定時器差不多一樣的功能。

編輯:admin  最后修改時間:2018-05-18

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

建水县| 任丘市| 临湘市| 平塘县| 泾阳县| 囊谦县| 开原市| 江城| 桑植县| 乌鲁木齐县| 乌兰察布市| 同心县| 长阳| 淮安市| 长阳| 邵阳县| 石楼县| 延长县| 桐柏县| 于都县| 林周县| 太仓市| 宝丰县| 叶城县| 太湖县| 江川县| 宁夏| 开阳县| 翁牛特旗| 西吉县| 瓮安县| 武乡县| 历史| 宝山区| 肃南| 定兴县| 加查县| 泽普县| 曲阜市| 东兴市| 南陵县|