При отладке программы очень удобно для вывода сообщений об той или иной ситуации, иметь универсальную функцию, которая позволяла бы выводить сообщение об ошибке, номер строки и файл в котором эта ошибка возникла. Для этого, в библиотеке периферии от ST, используется assert_param.
Assembler, переключение контекста
Данная серия статей посвящена описанию работы RTOS– написанной на основе TNKernel. Исходники вы можете скачать по этой ссылке.
keil, отладка — симуляция com порта
В Кeil тоже есть окно Serial, доступное при отладке. Вот только отображается в нём только то, что выводится из МК.
Если потребуется увидеть свой ввод, то необходимо реализовать со стороны МК поддержку эха.
P.S. При симуляции СОМ-порт компьютера можно «прикрутить» к ногам UART симулируемого микроконтроллера (команды MODE и ASSIGN) — очень удобно отлаживать взаимодействие программы МК с внешним устройством.
>MODE COM1 9600, 0, 8, 1 /*9600 bps, no parity, 8 data & 1 stop bit */
>ASSIGN COM1 <S1IN >S1OUT /*ASC0 output & input is done with COM2: */
>S1TIME = 0 /*ignore timing of simulated ASC0 interface*/
>ASSIGN // показать все доступные порты
Сигналы (функции) отладки
signal void serialA_Z (void)
{
char ch;
for (ch = 'A'; ch < 'Z'; ch++)
{
S1IN = ch; /* Send character */
twatch (19200);
} /* Repeat */
}
Можно поставить точку останова по изменению переменной:
BS readwrite test_x==5
BL // лист точек останова
BK // убить нулевую точку останова
// после 10 раз прохода timer0 вызывает отл. команду MyRegs()
BS timer0,10,"MyRegs()"
// пишем по в регистр GPIOB->BSRDL значение 0x40
// для выставления высокого уровня на ножке
BS Write dr==5, 1, "_WBYTE(0x40020418, 0x40)"
Подробнее в документации keil.
keil, debug prinf viewer, swd, swo
При использовании keil и программатор на swd — можно без остановки программы следить за изменениями переменных и выводить отладочные сообщения в debug printf viewer — это все делается через pin SWO, поэтому не забываем его при разводке платы. Для этого нужно иметь последнюю версию драйверов st-link и правильно настроить keil.
xively.com — сервис мониторинга показаний с ваших датчиков
Для отображения каких-либо измеряемых параметров в сети интернет, надо создавать свой сервер. Но можно использовать уже готовые — в данном примере будет показано как работать с xively.com.
CRC16 для Modbus RTU — табличный метод
В Modbus RTU для проверки целостности сообщения применяется алгоритм контрольной суммы CRC16 (циклический избыточный код) с полиномом 0xA001. Далее приведен табличный метод расчета CRC16 на C.
Примеры использования StdPeriph — Системный таймер
В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.
Примеры использования StdPeriph — DMA
В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.
Примеры использования StdPeriph — SPI
В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.
Примеры использования StdPeriph — I2C
В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.