:::: MENU ::::

Примеры использования StdPeriph — EEPROM

В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.

Continue Reading




Разрыв tcp соединения при бездействии, NAT

Источник проблемы лежит в природе протокола TCP/IP. Как правило, источник сеанса TCP/IP и его приемник находятся в различных сетях, и на пути сеанса встречается несколько маршрутизаторов. Хотя бы один из них обычно выполняет NAT-преобразование адресов. Ресурсы маршрутизатора всегда ограничены, поэтому некоторые из них выполняют очистку NAT-таблиц от «мёртвых» сеансов. Сеанс считается «мёртвым», если по нему не передавались пакеты в течение некоторого заданного интервала времени (назовем его интервал очистки). Таким образом, «молчаливый» сеанс может быть принят за «мёртвый» и вычищен из NAT-таблицы.

Continue Reading


assert_param stm32

При отладке программы очень удобно для вывода сообщений об той или иной ситуации, иметь универсальную функцию, которая позволяла бы выводить сообщение об ошибке, номер строки и файл в котором эта ошибка возникла. Для этого, в библиотеке периферии от ST, используется assert_param. 

Continue Reading




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.

Continue Reading


xively.com — сервис мониторинга показаний с ваших датчиков

Для отображения каких-либо измеряемых параметров в сети интернет, надо создавать свой сервер. Но можно использовать уже готовые — в данном примере будет показано как работать с xively.com.

Continue Reading


Страницы:12345678