中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

技術(shù)支持

何謂讀-修改-寫,導(dǎo)致的問題及其解決之道

更新時(shí)間: 2019-03-22

十年單片機(jī)開發(fā)方案公司深圳英銳恩分享何謂讀-修改-寫,導(dǎo)致的問題及其解決之道 。
只要PICmicro的命令,所處理的FILE (暫存器,內(nèi)存,和I/O的統(tǒng)稱),其最終的值,和命令處理前的值有關(guān),那么,這種命令便是所謂的讀-修改-寫命令。因?yàn)檫@類命令的操作,可以再細(xì)分為三個(gè)小步驟,即是讀(READ),修改(MODIFY),接著才是寫(WRITE)。

如:ADDWF,DECF,IORWF,XORWF,BSF,BCF,‥‥等等皆是。

在使用這類命令的時(shí)候,如果所處理的FILE是I/O, 就必須要特別小心。因?yàn)?,假設(shè)任務(wù)電壓為5V;而您在PORTB的8支腳,沒有串接電阻,分別接了8顆二極管(也許是LED)到地。如果,您在先前下了"BSF PORTB,0"這條命令,使得PORTB第0腳上的LED亮了。當(dāng)您再運(yùn)行了”BSF PORTB,1"這條命令后,雖然PORTB第1腳上的LED亮了,但是,PORTB第0腳上的LED卻會熄掉。原因是因?yàn)?,運(yùn)行”BSF PORTB,1”時(shí),會先將整個(gè)PORTB的值往回讀,而它讀到的PORTB第0腳,卻是相當(dāng)於低電位(被二極管拉為0.7V)。當(dāng)它再把整個(gè)PORTB的值寫出去的時(shí)候,PORTB第0腳就被寫成低電位,自然燈就熄了。

解決之道是:串電阻,或者不要直接對I/O作讀-修改-寫命令。

另外還有一類要注意的狀況是:如當(dāng)您將”BSF PORTB,0”和”BSF PORTB,1”兩條命令連在一起,沒有空運(yùn)行時(shí),縱使您沒有上一段所述線路設(shè)計(jì)不良之狀況,有時(shí)候您也會發(fā)現(xiàn)PORTB, 0的高電位也會不見了。導(dǎo)致這個(gè)現(xiàn)象的原因是:因?yàn)橐苍S您這兩支腳的外面接了長導(dǎo)線,有相當(dāng)大的電容、電感性會阻止電位的變化;而且,PIC命令運(yùn)行是在最后1/4周期時(shí)”寫出”,而在第一個(gè)1/4周期時(shí)”讀入”,PORTB,0還來不及升至高電位,便被下一個(gè)命令讀回去了。

解決之道是:通常在兩道命令間插入個(gè)NOP命令就可以了

(文源網(wǎng)絡(luò),侵刪)

404
返回首頁 |  返回上一頁
平邑县| 威信县| 五常市| 镇远县| 丹寨县| 万年县| 青浦区| 化隆| 咸阳市| 和平区| 河源市| 涞源县| 衡山县| 汶川县| 蚌埠市| 佳木斯市| 西林县| 科技| 环江| 莱芜市| 保靖县| 丹凤县| 仲巴县| 荔波县| 库尔勒市| 翁源县| 吉安市| 怀仁县| 庆阳市| 武宣县| 弥勒县| 陇川县| 吉林省| 墨脱县| 涿鹿县| 行唐县| 丹东市| 利津县| 奉节县| 鸡泽县| 泰兴市|