|
Демонстрационная прошивка отладочного комплекта МТС NB-IoT
|
#include "stm32l1xx.h"#include "board_pins.h"#include "port_macros.h"#include "uart_api.h"#include "i2c_api.h"#include "stdio.h"#include "tmp75_driver.h"#include "lis3dh_driver.h"#include "at_cmd_support.h"#include "awu_api.h"#include "coap_essentials.h"#include "gnss_support.h"#include "string.h"#include "stdlib.h"#include "ds1721_driver.h"Структуры данных | |
| struct | device_setup_data_t |
| Структура, хранящая настройки работы основного демонстрационного приложения Подробнее... | |
Макросы | |
| #define | FIRMWARE_VERSION "2.4 beta 2, 22.01.2021" |
| #define | MTS_COAP_SERVER_IP "195.34.49.22" |
| #define | MTS_COAP_SERVER_PORT 6683 |
| #define | DEFAULT_CLOCK_FREQ 16000000UL |
| Значение тактовой частоты, на которой работает контроллер | |
| #define | CONSOLE_BAUDRATE 115200UL |
| Значение скорости обмена для консоли (вывод printf() через USART1 и встроенный в плату USB-UART конвертер) | |
| #define | GNSS_BAUDRATE 9600UL |
| По умолчанию модули EVA M8 выдают данные на скорости 9600 бит/с | |
| #define | ECHO_INPUT_CHARS 0 |
| #define | SARA_R410M_DEFAULT_BAUDRATE 115200UL |
| Скорость обмена с радиомодулем | |
| #define | LOCAL_TSENSOR_I2C_ADDR 0x48 |
| Адрес термодатчика TMP75, установленного на плате | |
| #define | LOCAL_ACCEL_I2C_ADDR 0x18 |
| Адрес акселерометра LIS3DH, установленного на плате | |
| #define | USE_DS1721 1 |
| #define | MCU_UNIQUE_IDENTIFIER_ADDRESS ((uint32_t *)0x1FF800CC) |
| #define | OSC_STARTUP_CYCLES_MAX 2000000UL |
| #define | TMR_PRESC 15 |
| #define | TMR_CNT_1MSEC 1000 |
| Количество отсчетов таймера за 1 мс. | |
| #define | BTN_POLL_PERIOD 50000 |
| Интервал опроса кнопки, выраженный в отсчетах таймера. | |
| #define | LOGGER_MODE_VALUE 15 |
| См. описание device_setup_data_t. | |
| #define | SETTINGS_SIGNATURE_0 0xA5 |
| См. описание поля reserved структуры device_setup_data_t. | |
| #define | SETTINGS_SIGNATURE_1 0x55 |
| См. описание поля reserved структуры device_setup_data_t. | |
| #define | SETTINGS_SIGNATURE_2 0xAA |
| См. описание поля reserved структуры device_setup_data_t. | |
| #define | EEPROM_START_ADDRESS ((uint32_t *)0x08080000) |
Функции | |
| void | init_board (void) |
| Функция выполняет настройку тактирования и инициализацию периферии, используемой демонстрационным приложением. Подробнее... | |
| uint32_t | get_uptime_ms (void) |
| Возвращает время с момента начала работы прошивки Подробнее... | |
| void | delay_ms (uint32_t N) |
| Приостанавливает выполнение программы на заданное время. Значение задержки задается в миллисекундах. | |
| uint32_t | get_button_press (void) |
| Возвращает время удержания кнопки нажатой с момента предыдущего вызова функции. Подробнее... | |
| void | switch_LED (uint8_t state) |
| Включает или выключает светодиод на плате. Подробнее... | |
| void | SARA_R410_PWR_ON_pulse (void) |
| Генерирует импульс низкого уровня продолжительностью примерно 500 мс на линии PWR_ON радиомодуля. | |
| void | FLASH_WriteEEPROM (volatile uint32_t *eeprom_ptr, uint32_t *data_ptr, uint16_t data_size_words) |
| Запись в EEPROM. Подробнее... | |
| void | store_device_settings (device_setup_data_t *data) |
| Сохранение настроек устройства в область EEPROM. Подробнее... | |
| void | recall_device_settings (device_setup_data_t *data) |
| Загрузка настроек устройства из области EEPROM. Подробнее... | |
| void | apply_backspace (uint8_t *str, uint16_t max_length) |
| Модифицирует строку с учетом символов backspace. Подробнее... | |
Переменные | |
| volatile uint8_t | LSE_failed |
| В случае, если генератор LSE запустить не удалось, значение этой переменной будет ненулевым. | |
| volatile uint32_t | CYCLES_PER_1SEC |
| Калиброванное значение: количество итераций пустого цикла за 1 секунду при текущей тактовой частоте. Калибровка значения выполняется при старте платы. | |
См. определение в файле board_support_api.h
1.8.16