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/cn.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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP