Существует ли ORM для Perl?

Чтобы получить правильное значение, вы должны прочитать значение дважды. При первом считывании микросхема выполняет новое измерение и возвращает текущее значение в регистр (что не является правильным значением). Во втором чтении вы получите правильное значение:

import smbus
import time

address = 0x48  
A0 = 0x40
A1 = 0x41
A2 = 0x42
A3 = 0x43
bus = smbus.SMBus(1)

while True:
    bus.read_byte_data(address, A1)  # do the measurement but ignore the value
    value = bus.read_byte_data(address, A1)  # get the correct value
    #print(value)
    print("AOUT: %1.03f" %(value*3.3/255))
    time.sleep(0.2)
7
задан brian d foy 11 November 2008 в 21:32
поделиться

3 ответа

Правило № 1, не пишите свое собственное.

Существует множество ORMs на CPAN, включая...

26
ответ дан 6 December 2019 в 06:52
поделиться

Из предложений я использовал бы DBIx:: Класс. Вот некоторый код для анализирования 50 унаследованных баз данных таблицы (с отношениями, указанными в схеме):

#!/usr/bin/perl
use warnings;
use strict;
use DBIx::Class::Schema::Loader qw/ make_schema_at /;

make_schema_at("Zotero::Schema",
               {
                   # components => ['InflateColumn::DateTime'],
                   debug => 1,
                   relationships => 1,
                   dump_directory => './lib' ,
               },
               ["dbi:SQLite:dbname=../zotero.sqlite", "",""]);
0
ответ дан 6 December 2019 в 06:52
поделиться

(Звон поздно) Данные:: ObjectDriver (также на CPAN) обеспечивает большую гибкость особенно, если разделение и кэширование находятся в списке Ваших требований.

0
ответ дан 6 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: