В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.
Eclipse, ARM ToolChain, OpenOCD, STM32 на Linux
Пример установки и настройки среды разработки для STM32 в Linux.
hd44780
Хотел описать свою попытку написать универсальный драйвер для символьного дисплея с контроллером HD44780 или его аналогом.
TCP/IP Ethernet(v2) на примере. Часть 3 — IP
Рассмотрим tcp/ip и ethernet протоколы на примере. Для этого я установил соединение c tcp сервером на ПК, через модем GPRS на модеме SIM900(о том как работать с SIM900 смотрите эту статью).
Для отслеживания сетевых пакетов на ПК используется программа анализатор трафика(сниффер) wireshark. Данная программа позволяет не только отслеживать сетевые данные, но и получать полную информацию о пакетах различных протоколов их вложенность и содержание.
Примеры использования StdPeriph — EEPROM
В данной серии статей будут приведены примеры работы с периферией STM32L с помощью библиотеки, предоставляемой ST — StdPeriph. Перед использованием примеров не забывайте включать, соответствующие файлы библиотеки в проект.
Реализация задержек в мс и мкс через timer 6
Вначале настраиваем таймер
Continue Reading
Разрыв tcp соединения при бездействии, NAT
Источник проблемы лежит в природе протокола TCP/IP. Как правило, источник сеанса TCP/IP и его приемник находятся в различных сетях, и на пути сеанса встречается несколько маршрутизаторов. Хотя бы один из них обычно выполняет NAT-преобразование адресов. Ресурсы маршрутизатора всегда ограничены, поэтому некоторые из них выполняют очистку NAT-таблиц от «мёртвых» сеансов. Сеанс считается «мёртвым», если по нему не передавались пакеты в течение некоторого заданного интервала времени (назовем его интервал очистки). Таким образом, «молчаливый» сеанс может быть принят за «мёртвый» и вычищен из NAT-таблицы.
assert_param stm32
При отладке программы очень удобно для вывода сообщений об той или иной ситуации, иметь универсальную функцию, которая позволяла бы выводить сообщение об ошибке, номер строки и файл в котором эта ошибка возникла. Для этого, в библиотеке периферии от 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.