:::: MENU ::::

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

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

Continue Reading


SIM900 — замечания

Проблемы с паразитным питанием — зависание модема и даже по powerkey не сбрасывается, если до включения модема по средствам powerkey, на ножках SIM900 возникает напряжение (например положительный логический уровень). Поэтому нужно настраивать ножки контроллера на вход до включения sim900, или делать развязку с питанием от выхода 2.8В sim900, например на полевом ключе или микросхеме c open drain.

Много раз перезагружать модем нельзя так как у sim карты есть счетчик количества регистрации в сети и когда этот счетчик досчитает до определенного значения, sim карта перестает работать.


USB STM32L1xx (DS)

Общее описание

Данные между ПК и микроконтроллером передаются через специальный USB буфер памяти доступные через USB периферию микроконтроллера. Размер этого буфера должен быть в соответствии с размером максимального пакета конечной точки и их количеством. Общий размер всех буферов должен не превышать 512 байт.

Continue Reading


SIM900 — TCP соединение с сервером / сервер

Пусть у нас есть сервер, на который нам нужно передать какие-либо данные с удаленного девайса (например передать информацию о температуре, или о давлении или количестве подсчитанных импульсов, или о чем-то другом). Проделаем это мы через GPRS, используя модем SIM900.

Continue Reading


TCP/IP Ethernet(v2) на примере. Часть 2 — Ethernet(v2)

Рассмотрим tcp/ip и ethernet протоколы на примере. Для этого я установил соединение c tcp сервером на ПК, через модем GPRS на модеме SIM900(о том как работать с SIM900 смотрите эту статью).

Для отслеживания сетевых пакетов на ПК используется программа анализатор трафика(сниффер) wireshark. Данная программа позволяет не только отслеживать сетевые данные, но и получать полную информацию о пакетах различных протоколов их вложенность и содержание.

ЧАСТЬ 1 —  TCP.

ЧАСТЬ 2 — Ethernet.

ЧАСТЬ 3 — IP.

Continue Reading


TCP/IP Ethernet(v2) на примере. Часть 1 — TCP

Рассмотрим tcp/ip и ethernet протоколы на примере. Для этого я установил соединение c tcp сервером на ПК, через модем GPRS на модеме SIM900(о том как работать с SIM900 смотрите эту статью).

Для отслеживания сетевых пакетов на ПК используется программа анализатор трафика(сниффер) wireshark. Данная программа позволяет не только отслеживать сетевые данные, но и получать полную информацию о пакетах различных протоколов их вложенность и содержание.

ЧАСТЬ 1 —  TCP.

ЧАСТЬ 2 — Ethernet.

ЧАСТЬ 3 — IP.

Continue Reading


STM32 DMA

Процедура конфигурации канала DMA.

Итак, первоначально надо определиться с источником и получателем данных, откуда и куда будем пересылать. Фактически все задается прямыми адресами в пространстве памяти, для этого предназначены два регистра: DMA_CPARx (базовый адрес периферии) и DMA_CMARx (базовый адрес памяти). В этих регистрах заданы начальные адреса, они остаются неизменными.

Continue Reading


keil, map-файл и занятая память

В проекте в файле с расширением .map в конце указаны:

Total RO Size (Code + RO Data) 5496 ( 5.37kB)
Total RW Size (RW Data + ZI Data) 10472 ( 10.23kB)
Total ROM Size (Code + RO Data + RW Data) 5572 ( 5.44kB)

Total RW Size — RAM (оперативка) занимаемая программой
Total ROM Size — FLASH занимаемая программой


Подтяжка USB шины — определяет скорость обмена

На самом деле подтяжки в USB устроены так:

  • pull-up на D- на стороне девайса — девайс говорит, что он Low-speed;
  • pull-up на D+ на стороне девайса — девайс говорит, что он Full-speed или High-speed (уточняется в дальнейшем диалоге с хостом);
  • оба пина без подтяжек на стороне девайса — он отключен от шины, и хост с ним не работает;

STM32, USART прерывания, отличие TC и TXE

Регистр статуса модуля USART, USART_SR — в нем находятся флаги, указывающие на текущее состояние модуля.

PE (разряд 0) — ошибка паритета при приеме байта. Можно задавать четное или нечетное число единиц в принимаемом байте. Если приняли байт, а в нем другое количество единиц, значит имеем ошибку.

FE (разряд 1) — ошибка кадра при приеме байта, т.е. первый стоп-бит принятой посылки равен 0.

NE (разряд 2) — флаг наличия шума. Ставится аппаратно, когда обнаружен шум в принимаемом кадре.

RXNE (разряд 5) — в регистре данных приема есть данные, т.е. принят байт данных, нужно срочно что-то делать.

TC (разряд 6) — передача завершена. Если регистр передачи данных пуст (на что указывает флаг TXE регистра USART_SR) и в USART_CR1 бит TCIE=1, то генерируется прерывание.

TXE (разряд 7) — регистр данных передачи пуст.

В чем отличие TXE от TC ?

USART передает данные из сдвигового регистра. А в этот сдвиговый регистр они попадают из регистра DR: процессор записывает данные в DR и в нем они будут находиться пока сдвиговый регистр не освободится. Как только он освободится (данные будут переданы) информация из DR будет переписана в него и будет установлен флаг TXE (регистр данных пуст). Если процессор на это никак не отреагирует, то по освобождению сдвигового регистра будет установлен также флаг TC.


Страницы:123456