Функции | |
void | hm_init (void) |
Инициализация. | |
void | hm_reset (void) |
Очистка памяти. | |
uint8_t | hm_ready (void) |
Проверка статуса микросхемы. | |
void | hm_recog (void) |
Переключение в режим распознавания. | |
void | hm_train (uint8_t pattern) |
Переключение в режим обучения. | |
uint16_t | hm_result (void) |
Результат распознавания. | |
uint16_t | hm_pattern_size (uint8_t pattern) |
Получить размер области памяти, необходимой для сохранения данных шаблона команды. | |
void | hm_wlen (uint8_t len) |
Устанавливает длительность команд. | |
void | hm_download (uint16_t size, uint8_t *buf) |
Считывает шаблон команды из памяти микросхемы и заносит его в буфер. | |
uint8_t | hm_read_byte (void) |
Считывает очередной байт шаблона команды. | |
void | hm_start_upload (uint8_t pattern, uint16_t len) |
Инициирует процесс переноса шаблона в ОЗУ, подключенное к микросхеме. | |
void | hm_write_byte (uint8_t byte) |
Записывает очередной байт шаблона в ОЗУ, подключенное к микросхеме. | |
Конфигурация портов | |
Библиотека для работы с микросхемой распознавания речевых команд HM2007.
| |
#define | HM_S_PORT PORTB |
Регистр вывода порта, к которому подключены линии S1-S3. | |
#define | HM_S_DDR DDRB |
Регистр направления для порта с линиями S1-S3. | |
#define | HM_S_BIT 0 |
Номер бита, к которому подключена линия S1. | |
#define | HM_K_PORT PORTC |
Регистр вывода порта, к которому подключены линии K1-K4. | |
#define | HM_K_DDR DDRC |
Регистр направления порта с линиями K1-K4. | |
#define | HM_K_PIN PINC |
Регистр ввода порта, к которому подключены линии K1-K4. | |
#define | HM_K_BIT 4 |
Номер бита, к которому подключена линия K1. | |
#define | HM_WL_PORT PORTC |
Регистр вывода порта, к которому подключена линия WLEN. | |
#define | HM_WL_DDR DDRC |
Регистр направления для порта с линией WLEN. | |
#define | HM_WL_BIT 3 |
Номер бита, к которому подключена линия WLEN. |
void hm_download | ( | uint16_t | size, | |
uint8_t * | buf | |||
) |
Считывает шаблон команды из памяти микросхемы и заносит его в буфер.
Эта функция должна вызываться сразу после hm_pattern_size(). Разумеется, данные, помещенные в буфер, а также длину области памяти следует затем перенести в энергонезависимую память (флэш-память контроллера, внешнее ПЗУ, карта памяти и т.п.). Для восстановления шаблона при очередном включении питания используется hm_start_upload() и hm_write_byte().
size | Размер области памяти, возвращенный функцией hm_pattern_size(). | |
buf | Указатель на буфер. Буфер должен вмещать минимум size байт. |
void hm_init | ( | void | ) |
Инициализация.
Инициализирует используемые порты микроконтроллера для обмена с HM2007. Эта функция должна быть вызвана в самом начале работы с микросхемой. Устанавливает длительность команд 0.9 сек.
uint16_t hm_pattern_size | ( | uint8_t | pattern | ) |
Получить размер области памяти, необходимой для сохранения данных шаблона команды.
Данные в ОЗУ при выключении питания теряются. Если необходимо сохранять данные между включениями, их следует сохранять в энергонезависимой памяти. hm_pattern_size() возвращает размер области памяти, которая необходима для сохранения шаблона команды. Сразу после вызова этой функции необходимо вызвать или hm_download(), передав ей указатель на область памяти достаточного размера, или hm_read_byte().
pattern | Номер команды. От 1 до 20 или 40, в зависимости от режима работы. |
uint8_t hm_read_byte | ( | void | ) |
Считывает очередной байт шаблона команды.
После вызова hm_pattern_size(), эта функция должна быть вызвана столько раз, какое значение вернула hm_pattern_size().
uint8_t hm_ready | ( | void | ) |
Проверка статуса микросхемы.
void hm_recog | ( | void | ) |
Переключение в режим распознавания.
После вызова этой функции, следует проверять значение, возвращаемое функцией hm_ready(). Другие функции вызывать нельзя до тех пор, пока hm_ready() не вернет 1. Результат распознавания затем может быть получен с помощью hm_result().
void hm_reset | ( | void | ) |
Очистка памяти.
Все сохраненные команды стираются.
uint16_t hm_result | ( | void | ) |
Результат распознавания.
Возвращает номер команды распознанной функцией hm_recog() и вероятность распознавания.
void hm_start_upload | ( | uint8_t | pattern, | |
uint16_t | len | |||
) |
Инициирует процесс переноса шаблона в ОЗУ, подключенное к микросхеме.
Эта функция используется для восстановления данных, ранее полученных с использование функций hm_pattern_size(), hm_download() и/или hm_read_byte(). После вызова этой функции следует len раз вызвать hm_write_byte().
pattern | Номер команды | |
len | Количество байт данных для записи. Соответствует значению, возвращенному функцией hm_pattern_size() |
void hm_train | ( | uint8_t | pattern | ) |
Переключение в режим обучения.
После вызова этой функции, следует проверять значение, возвращаемое функцией hm_ready(). Другие функции вызывать нельзя до тех пор, пока hm_ready() не вернет 1.
pattern | Номер команды которую следует записать. От 1 до 20 или 40, в зависимости от режима работы. |
void hm_wlen | ( | uint8_t | len | ) |
Устанавливает длительность команд.
Вызов этой функции влияет на допустимый диапазон аргументов функций hm_pattern_size() и hm_train().
len | 0 - 0.9 сек ; 1 - 1.9 сек. |
void hm_write_byte | ( | uint8_t | byte | ) |
Записывает очередной байт шаблона в ОЗУ, подключенное к микросхеме.
Эта функция используется для восстановления данных, ранее полученных с использование функций hm_pattern_size(), hm_download() и/или hm_read_byte(). Должна вызываться сразу после hm_start_upload().
byte | Байт для записи |