і масиви

O

Old Nick

Guest
Я в даний час намагається neaten до деякого коду я написав, і зробити його елементів більш мобільними.Код я написав контролю карті ADC (Вимірювання обчислювальні), який смуг дані з камер ми створили.

Ми використовуємо функції, представленої виробником карт для зчитування даних у масив, а коли кадри були потім схопив запису даних у файл.
Як код тепер означає, що існує багато повторень,

Код:

UDStat = cbAIn (BoardNum, Chan0, Gain, & DataValueA); / / Sample канал 0

UDStat = cbToEngUnits (BoardNum, Gain, DataValueA, & EngUnitsA); / / перетворити необроблені дані в напрузі

якщо (photoNumber == 0) / / ніякого відношення до середніх - завантажити масив

(

DataArrayA [рядок] [стовпець] = EngUnitsA;

)

зе / / Start усереднення - (старе значення нове значення)

(

DataArrayA [рядок] [стовпець] = (DataArrayA [рядок] [стовпець] EngUnitsA) / /

)
 
Привіт,
Наскільки я знаю, якщо масиви визначені поза всіх функцій і головних рутини, вони будуть розглядатися як глобальні змінні, і буде доступна для використання / оновлено будь-якої функції.
Привіт,
Laktronics

 
Привіт Old Nick,
Laktronics Як вже зазначалося, ви можете використовувати глобальні масиви, які будуть доступні всі функції.У цьому випадку вам необхідно диференціювати масив, який буде оновлюватися (залежно від каналу немає.) У функцію, яка робить усереднення.
Іншим способом було б передати вказівник на масив ви повинні бути оновлені як аргумент функція, яка робить усереднення.У цьому випадку вам не потрібно проходити каналу немає.Функція просто виконує необхідні усереднення і оновлень в тих місцях, на яку вказує аргумент.

Привіт,
Vhn

 
Визначити масиви вам потрібно, і потім передавати їх за посиланням на ваш функції.Це працює.

 
Cheers хлопці,

Я вирішив цю пару тижнів тому.

Спасибі,

Nick

 

Welcome to EDABoard.com

Sponsor

Back
Top