Electronics 板


LINE

我写入两行运算积分式子如下: ts=200e-6; oIo=5; int_ic=oint_ic+oIo*ts; oint_ic=int_ic; 大约经过56分钟过後 oint_ic的值=32768 无法再继续积分下去 不管是将电流或者是中断时间ts以倍数的方式除掉 比如将中断时间减少一倍,会电流缩小一倍 积分的值也会缩小一倍变成16384 或者写入延迟时间读入计算 比如中断时间本来是200us取一个电流值 改成两次在读入回圈中 电流积分值也会缩小1倍 因此电流积分值oint_ic都会积分至一固定值就会停止 无法在运算下去 不知道有没有大大有遇过这问题 衷心有人可以解答 这问题已经困扰我两个月噜~ 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.180.32
1F:推 joy830:int 32768是他的范围阿 11/11 00:02
2F:→ joy830:int是4 bytes = 16bits 11/11 00:04
3F:→ joy830:2^16 = 32768*2 因为正数分一半空间 负数分一半 11/11 00:05
4F:→ joy830:讲这麽多废话 把int oint_ic; 改成long oint_ic; 即可 11/11 00:06
5F:→ yan760422:我想大大可能误解我的意思噜 11/11 14:11
6F:→ yan760422:int_ic是我的变数~并不是我的宣告指令~我的宣告指令是 11/11 14:12
7F:→ yan760422:float~并不是int~并且此积分并不是值的问题~因为 11/11 14:12
8F:→ yan760422:不管事X2或者是/2~值会变成是32768X2或32768/2~ 11/11 14:13
9F:→ yan760422:会成比例的减少或者增加~所以并不是因为值的问题 11/11 14:14
10F:→ yan760422:布过还是感谢大大的说明~小弟由衷感谢 11/11 14:14
11F:→ joy830:float也是4 bytes 11/11 22:03
12F:→ joy830:你把float改成double试试看吧~~ 11/11 22:04
13F:推 utility:你好好的研究浮点格式..你就会发现这是必然的现象 11/12 20:50
14F:→ yan760422:把宣告float改成double~一样无法解决此问题 11/17 14:48
15F:→ yan760422:我查过浮点运算格式~2812只有两个变数宣告float与double 11/17 14:49
16F:→ yan760422:所以问题应该不是宣告格式错误~是其他问题~ 11/17 14:50
17F:→ yan760422:因此不知道问题为何?希望大大给点方向~ 11/17 14:50
18F:推 joy830:2812的数值 都是16bits 你可以再给他一个进位值 11/18 00:19
19F:推 joy830:int a,b; if(a>=32768){a=0; b++;} 类似这样 11/18 00:23
20F:→ yan760422:这方法我已经测试过了~我把oint_ic积分值至15000时转换 11/18 15:59
21F:→ yan760422:另一变数oint_ic2并且将原本的积分值oint_ic归零~ 11/18 15:59
22F:→ yan760422:重新计算~不过他会等於oint_ic2+oint_ic=15000+1384 11/18 16:01
23F:→ yan760422:就停止运算~结果的积分计算值还是一样~无法持续积分 11/18 16:01
24F:→ yan760422:并且我在中断副程式timer1里加入一变数kk当我程式执行过 11/18 16:02
25F:→ yan760422:一次中断副程式KK则++~来计算进入中断副程式有几次~结果 11/18 16:02
26F:→ yan760422:他会停止在1677220~不过ts中断时间改变多少~kk值都相同 11/18 16:03
27F:→ yan760422:因此我无法理解为何进入中断副程式中会停止在1677220 11/18 16:04
28F:→ yan760422:就不再继续执行了~不知道大大有没有其他方法可以解决~ 11/18 16:05
29F:→ yan760422:由衷感谢 11/18 16:05
30F:推 joy830:15000+1384=0X4000 没这麽巧合的值吧 11/18 19:30
31F:→ joy830:我依然觉得是数值的问题 至於1677220只是address 11/18 19:31
32F:→ joy830:我认为不具意义 加油 我想我帮不上忙了 11/18 19:31
33F:推 utility:oint_ic2+oint_ic=15000+1384.你是把这两个float又加起来? 11/22 13:23
34F:→ utility:你的ts是固定值.其实不用每次都做乘又加的动作.只要加就好 11/22 13:25
35F:→ yan760422:我要把oint_ic积分後再做处理 11/22 14:44
36F:→ yan760422:ts我曾经有x一个倍数~後面在除回来~但一样有问题~ 11/22 14:45
37F:→ yan760422:接着我有想过用大大的方法~我写了一个回圈~让counter 11/22 14:46
38F:→ yan760422:数了1万次再将进入积分式子内~也就是延迟一秒~再将回授 11/22 14:47
39F:→ yan760422:物理量读回来做处理~但是相同的问题还是存在着~无法解决 11/22 14:47
40F:→ yan760422:如果是数值的问题~那麽我将除以一倍数~就应该不会有问题 11/22 14:49
41F:→ yan760422:但是他会数值会随倍数成长 11/22 14:49
42F:→ yan760422:後来又测试一下次数的问题~发现执行会停止在16777220次 11/22 14:50
43F:→ yan760422:不管随倍数改变或者是利用变数取代 11/22 14:50
44F:→ yan760422:依旧存在此问题~积分无法继续累加~所以这两个月我测试 11/22 14:51
45F:→ yan760422:很多方法~还是找不到问题的所在~ 11/22 14:52
46F:→ yan760422:不过很感谢两位大大~提供的方法~在下感激不尽 11/22 14:52
47F:推 utility:好像有一个long double的可以用..64-bit 11/22 17:23
48F:推 utility:其实你只要是用浮点就会有你的问题..用long double的话. 11/22 21:29
49F:→ utility:只是延後这个问题的产生..不过因为可以增加很多累加次数.. 11/22 21:31
50F:→ utility:所以可以当作没这个问题存在.long double是你的救命神丹. 11/22 21:32
51F:→ yan760422:这个我试过噜~其实一开始我的变数宣告都是short~ 11/23 11:12
52F:→ yan760422:如果是浮点运算的话有两个宣告指令是float&double 11/23 11:12
53F:→ yan760422:我将short改成int~然後float改成double~运算结果 11/23 11:14
54F:→ yan760422:还是一样~并没有什麽改变~看样子好像跟变数宣告长度无关 11/23 11:14
55F:→ sneak: oint_ic2+oi https://muxiv.com 08/13 19:05
56F:→ sneak: 如果是数值的问题~那麽 https://daxiv.com 09/17 23:00
57F:→ sneak: 但是他会数值会随倍数成 https://daxiv.com 11/11 16:01
58F:→ sneak: 不管事X2或者是/2~ https://daxiv.com 01/04 22:14







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

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

TOP