找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1866|回復: 7
收起左側(cè)

單片機在中斷中 不用for循環(huán)怎么實現(xiàn)滑動平均算法?

[復制鏈接]
ID:495852 發(fā)表于 2021-7-1 16:51 | 顯示全部樓層 |閱讀模式
如題
回復

使用道具 舉報

ID:161164 發(fā)表于 2021-7-1 20:03 來自手機 | 顯示全部樓層
Int MovAvg[20];
回復

使用道具 舉報

ID:161164 發(fā)表于 2021-7-1 20:14 來自手機 | 顯示全部樓層
硬寫?有多少個數(shù)就寫多少行?如MovVal[X] = MovVal[X-1]?為什麼不用For loop?
回復

使用道具 舉報

ID:495852 發(fā)表于 2021-7-2 08:04 | 顯示全部樓層
lkc8210 發(fā)表于 2021-7-1 20:14
硬寫?有多少個數(shù)就寫多少行?如MovVal[X] = MovVal[X-1]?為什麼不用For loop?

中斷里能用循環(huán)嗎?
回復

使用道具 舉報

ID:57657 發(fā)表于 2021-7-2 08:14 | 顯示全部樓層
zhangleitj 發(fā)表于 2021-7-2 08:04
中斷里能用循環(huán)嗎?

定時器中斷慎用,外部中斷可以
回復

使用道具 舉報

ID:123289 發(fā)表于 2021-7-2 08:30 | 顯示全部樓層
舉例:AD采樣中斷。
1、做一個數(shù)組,8個數(shù)據(jù)。并做一個指針PCAD:0-7,指向這8個數(shù)據(jù)。
2、每次中斷將PCAD+1(0-7變化),并將新采樣的數(shù)據(jù),存入PCAD所指向的數(shù)組單元。
3、對數(shù)組求平均。
如此:當你采樣8次之后:每次都可以獲得一個前8次采樣的平均值了。
回復

使用道具 舉報

ID:161164 發(fā)表于 2021-7-2 09:41 | 顯示全部樓層
zhangleitj 發(fā)表于 2021-7-2 08:04
中斷里能用循環(huán)嗎?

要看你的循環(huán)時間是否大于定時中斷周期
除非需要精準定時(如軟串口)
中斷中通常用作設(shè)置標置位
然后在大while循環(huán)中檢測到標置位再進行處理
回復

使用道具 舉報

ID:161164 發(fā)表于 2021-7-2 09:49 | 顯示全部樓層
yzwzfyz 發(fā)表于 2021-7-2 08:30
舉例:AD采樣中斷。
1、做一個數(shù)組,8個數(shù)據(jù)。并做一個指針PCAD:0-7,指向這8個數(shù)據(jù)。
2、每次中斷將PCA ...

妙!
我只想到如何重排數(shù)組
每次更新都寫入第一位
但山不轉(zhuǎn)水轉(zhuǎn),水不轉(zhuǎn)人轉(zhuǎn)
不重排就令每次寫入的地址不同
一樣做到數(shù)組更新
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表