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

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> 單片機(jī)編程小問(wèn)題總結(jié)

單片機(jī)編程小問(wèn)題總結(jié)

作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:8

1、時(shí)間太長(zhǎng),記不清在哪個(gè)項(xiàng)目里遇到的,指向code區(qū)數(shù)組的指針也要加 code 關(guān)鍵字聲明。

比如 unsigned char code arr[30]; 數(shù)組,要用指針指向它,要把指針也聲明成 unsigned charcode*p;

后來(lái)使用發(fā)現(xiàn)其它很多地方使用是不需要這樣聲明的,只要 unsigned char *p;就行了,但是清楚地記得那次確實(shí)是要加 code 關(guān)鍵字聲明才可以的。

2、在51里面,位變量貌似是有限的。

如果要用一個(gè)布爾型作為標(biāo)識(shí)變量,為了節(jié)省控件可以用 bit 型變量,但是在DRS1000項(xiàng)目中遇到過(guò)一次用 bit 型變量出錯(cuò),改為 unsigned char 型就OK了,那時(shí)定義的變量已經(jīng)很多了,可能是把可以用bit尋址的存儲(chǔ)區(qū)都用光了吧。

3、用機(jī)械開關(guān)觸發(fā)INT中斷時(shí):

由于機(jī)械開關(guān)會(huì)震動(dòng),產(chǎn)生的電壓會(huì)有毛刺,這些毛刺會(huì)多次觸發(fā)中斷。會(huì)造成多次觸發(fā)的因素有兩點(diǎn):

(1 )開關(guān)按下時(shí)的震動(dòng)。第一次低電平到來(lái)時(shí)會(huì)進(jìn)入中斷處理程序,之后就算這些震動(dòng)在中斷處理程序執(zhí)行的過(guò)程中產(chǎn)生,即使進(jìn)入中斷處理程序后關(guān)掉了總中斷,這些毛刺仍然會(huì)使中斷標(biāo)志位置位,會(huì)在結(jié)束中斷處理程序結(jié)束后再次馬上觸發(fā)中斷處理程序。

(2 )開關(guān)釋放時(shí)的震動(dòng)。在第一次高電平到來(lái)時(shí)會(huì)退出中斷處理程序,之后的毛刺會(huì)再次進(jìn)入中斷處理程序。

解決辦法:

在中斷處理程序的最后加一段低電平等待代碼,等待低電平結(jié)束再延時(shí)5ms(為了消除開關(guān)釋放時(shí)毛刺的干擾),5ms延時(shí)結(jié)束后再清除中斷標(biāo)志位(在中斷處理程序執(zhí)行的過(guò)程中可能已經(jīng)再次觸發(fā)了中斷標(biāo)志位)。代碼如下:

[cpp] view plaincopyvoid int0() interrupt 0
{
/*Do something*/
while(rollRA==0);//等待低電平結(jié)束
delay5(1);//等待按鍵釋放的毛刺結(jié)束
IE0=0; //清除中斷標(biāo)志位,以防再次進(jìn)入中斷

}

4、對(duì)于15系列單片機(jī),在使用串口時(shí)必須要指定AUXR寄存器的值,否則程序無(wú)**常運(yùn)行。

這個(gè)情況遇到過(guò)很多次,15系列單片機(jī)只要使用到串口就一定要知名AUXR寄存器的值,不像12系列那樣可以把這個(gè)寄存器忽略。

在使用15系列單片機(jī)時(shí)養(yǎng)成了一個(gè)習(xí)慣:main 函數(shù)的第一句讓 AUXR=0; ,后面串口在根據(jù)需要對(duì)其進(jìn)行初始化。

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

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

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

阿城市| 安溪县| 葵青区| 宁强县| 内黄县| 宾阳县| 县级市| 教育| 通州市| 大宁县| 康定县| 汕尾市| 鄱阳县| 清徐县| 靖远县| 儋州市| 嵊州市| 松潘县| 淮北市| 保靖县| 奉贤区| 修武县| 周至县| 巨鹿县| 六安市| 宜丰县| 灌阳县| 丹凤县| 陇南市| 斗六市| 阿克苏市| 肥东县| 湘潭县| 甘洛县| 大荔县| 化州市| 永新县| 四平市| 甘南县| 周至县| 济南市|