Electronics 板


LINE

我用的mcu是pic16f877a 我要控制的東西(rgbled)是單線控制,根據data線HIGH的時長來決定是BIT"0"或BIT"1" 所以我在用mcu控制的時候常常會這樣寫 if(bit[i]=1) {RC1=1;RC1=1;RC1=1;RC1=1;RC1=0;}//BIT"1"800nS HIGH else {RC1=1;RC1=0;} //BIT"0"200nS HIGH 我的振盪器是20MHZ,所以指令週期是(1/20M)*4=200nS 當bit"1"時送一個800nS HIGH的脈波(4次RC1=1;) 當bit"0"時送一個200nS HIGH的脈波(1次RC1=1;) 但是我發現偶爾在不知道什麼時候,BIT"1"High的脈波寬會變成2000nS 拿掉一個RC1=1;,BIT"1"High的脈波寬會變成1800nS 拿掉兩個RC1=1;,BIT"1"High的脈波寬會變成1600nS (表示RC1=1;這指令仍然是200nS,那為什麼High的脈波寬會跑掉) 這狀況是偶而才發生一次,每次遇到這個問題時,我將程式改為 if(bit[i]=1) {RC1=1;RC1=1;RC1=1;RC1=1;RC1=0;RC1=0;RC1=0;RC1=0;}//BIT"1"800nS HI else {RC1=1;RC1=0;} //BIT"0"200nS HIGH 把RC1=0;的次數跟RC1=1;的次數相同,BIT"1"High的脈波寬就正常了 就很好奇了,請問這個是編譯器的問題嗎?因為單純以程式來看我想不通 我只是瞎基巴改,然後就正常動作了 所以想來問看看這到底是什麼原因 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.158.217 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Electronics/M.1675128955.A.36B.html
1F:→ hongsiangfu: 沒用過pic,有其他硬體中斷搶佔程序嗎? 01/31 12:58
沒使用中斷的時候仍然會有這問題
2F:推 god145145: XC8 01/31 13:06
※ 編輯: IOP14759 (60.248.158.217 臺灣), 01/31/2023 15:24:55
3F:推 HiJimmy: 可以看編譯出來的組語,或是關閉優化功能試試看 01/31 20:17
4F:→ mmonkeyboyy: 關優化先 你可能有東西佔了資源但沒有用 02/01 02:19
5F:→ mmonkeyboyy: 這時編譯器就會自動優化 反而變奇怪動作 02/01 02:19
6F:→ m490521: 直接看組合語言 02/01 11:17
7F:推 ureikaze: 試看看用同樣週期的nop取代重複的指令 02/01 13:20
8F:→ DaveLu: 開發環境或除錯工具有掛著嗎?它有時會主動產生中斷好獲得 02/01 13:47
9F:→ DaveLu: 程式運行資訊 02/01 13:48
10F:推 suspect1: 首先,你應該寫if(bit[i]==1) 02/05 01:07
11F:推 suspect1: RC1是gpio? register? 02/05 01:09
12F:→ suspect1: 查一下datasheet,每個instruction的執行週期 02/05 01:11
13F:→ suspect1: 我知道你沒用中斷,但hongsiangfu說『其他』的硬體 02/05 01:12
14F:→ suspect1: 有可能發出signal,或是preemptive 02/05 01:13
15F:→ yugi2567: 用chatgpt寫啊...... 02/09 12:51







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP