>
| 88 Просмотров | | Число комментариев: 0

Начну с того, что пин Reset вам не поможет нормально перезапустить модуль SIM800L. Или, так скажем, этот пин - не панацея. Используйте PWRKEY - кнопка включения/выключения.

В интернете вы сможете найти много схем подключения дешевого модуля SIM800L от SIMCOM к микроконтроллеру. В каких-то схемах используют пин PWRKEY, а в каких-то нет. Я рекомендую использовать. Работает он довольно просто: чтобы выключить SIM модуль, замкните PWRKEY на GND на 1,5 секунды. А потом через 5-10 секунд, снова PWRKEY на GND на 1,5 секунды чтобы обратно включить. Это самый адекватный сброс, который я только мог повстречать.

| 323 Просмотров | | Число комментариев: 0

Когда стоит задача дизайна PHY для Ethernet, мы обращаемся к Reference manual производителя. В нем достаточно подробно рассказывается о том, что можно делать, а чего делать нельзя. Но идеальные условия могут не устраивать нас по ряду причин, в таком случае мы не знаем, что делать можно, чем позволено пренебречь и в каких пределах. Эта статья позволит оценить поведение LAN8742A в рамках бюджетных проектов, где используется двухсторонняя печатная плата, что безусловно уже является серьезным допущением.

Как сохранить работоспособность устройства, при этом не заваливая EMI тест устройства. Как оценить по косвенным признакам, работает физика нормально или нет. Далее в этой статье.

| 269 Просмотров | | Число комментариев: 0

В такой нагруженной системе важна аккуратность. У меня на столе STM32F407VET6 со 128 кБ SRAM и 512 кБ FLASH. И на ней реализован Modbus TCP/IP, Modbus RTU RS485, Modbus RTU RS232, +CAN шлюз. Под FreeRTOS работают LwIP, FATFS. Для начальной "завязки" необходимо выделить память

  • Под кучу FreeRTOS 32-48 kB
  • Под стек LwIP 2048 B

Со временем постепенно можно увеличивать или оптимизировать эти значения, менять количество PBUF'ов, NETCONN'ов, размер стека задач и т.д. Но я привел значения, при которых минимальный объем задач FreeRTOS с остальными стеками, работающими одновременно, будет выполняться без глюков.

| 250 Просмотров | | Число комментариев: 0

Принципы чтения и записи FLASH памяти в STM32F0 мало чем отличаются от подобных принципов для других семейств. Описываемый далее метод так же неплохо работает и в STM32F1 (проверено на STM32F103C6T6A). Библиотека HAL позволит унифицировать знания, то есть пользоваться функцией стирания/записи можно аналогично, независимо от модели микроконтроллера.

Первое, что стоит хорошо понять:

  1. память FLASH всегда начинается с адреса 0x08000000
  2. память FLASH всегда разбита на страницы и стирать данные мы можем только страницами (это 1 килобайт или 2 килобайта, читайте datasheet), а не по одному байту или слову.
  3. нельзя записать новые данные поверх старых данных. Перед записью новых данных необходимо сделать стирание нужной страницы.
  4. адрес страницы это не 1,2,3,4,5.. это абсолютный адрес в адресном пространстве, пример 0x08000000, 0x08000400, 0x08000800 и т.д. (внимание, адреса в примере актуальны для страниц размером 1 кБ).
  5. Исполняемая программа записывается в первую страницу, начиная с адреса 0x08000000 и занимает ровно столько страниц, сколько ей требуется, остальные страницы не записываются при прошивке (и не стираются тоже). Конфигурацию записывайте в неиспользуемые страницы. Например, в STM32F030F4P6 всего 16 страниц памяти по 1 кБ и если размер прошивки меньше 15 кБ, то смело пишите настройки в последний (16-ый) сектор.
  6. Не записывайте данные на флешку слишком часто, у нее ограниченное количество циклов стирания/записи (как правило, 10000 циклов). Флешкой нельзя пользоваться так же как EEPROM.
| 234 Просмотров | | Число комментариев: 0

В данном уроке вы освоите основы работы с таймером TIM4 и пройдете небольшую практику. Суть практической работы заключается в том, чтобы как и в самом начале поморгать светодиодом. Резонно назвать этот практикум "Hello, LED-2". В отличие от первого примитивного примера, где задержка (пауза) осуществлялась зависанием микроконтроллера на количество заданных итераций, здесь микроконтроллер зависать не будет. Он будет "слушать" события. Таймер будет создавать эти события в строго определенный промежуток времени. И по возникновении событий можно будет менять состояние линии порта, на которой висит светодиод. По-прежнему я использую отладочную плату "синяя пуля оптовых оценка STM8 доска" и данный пример будет работать вообще на любом STM8 линеек Value и Acces line.