Кто-то любит пирожки, а кто-то - нет.
И снова про внешние прерывания.

Задача - сделать простой в использовании драйвер. В идеале - указываем вывод, который хотим слушать, тип регистрируемого фронта и обработчик. Типа такого:


читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, электроника, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
ЦБР объявил о выпуске: десятик «Крондштадт» от 7 мая, десятик «70 Сталинградской битвы» от 24 мая и десятик «Наро-Фоминск» от 3 июня.



Вот. А предыдущих нифига и не видать == Ни Вязьмы, ни универсиады, блин.

@темы: монетики

Кто-то любит пирожки, а кто-то - нет.
Это так забавно, когда ссылочки на ссылочки на все задачи предстоящих Е*Эшечек заботливо запощены прям на lenta.ru. Мда ><

Даже я смог скачать и посмотреть вариантики, хотя мне это нафиг-то и не надо.

А ещё немножко горит Техноложка, которая не метро, и это грустно .з.

@темы: мии

Кто-то любит пирожки, а кто-то - нет.
Если вы вдруг делаете устройство какое-нибудь с поддержкой сети Ethernet, то следует обратить внимание на ряд моментов:

1. 100 Mbps хорошо, но успеет ли девайс их обработать, если пакеты пойдут пачкой? Для встраиваемых устройств лучше использовать старый добрый 10BASE-T Full Duplex. Если вдруг кто пулемётом выстрелит в сеть пакеты, а комп какой-нибудь может и гигабитом быть подключён к сети, и время между пакетами может быть очень маленьким, то коммутатор пакеты задержит у себя ровно настолько, чтоб по очереди их передать по 10Mbps линии. Весьма удобно.
2. Если есть возможность, используйте режим Full-Duplex, чтоб не было мороки с коллизиями и убитыми ей пакетами...
3. Используйте автоопределение скорости! Протокол позволяет выбрать предпочитаемые режимы, например те же 10BASE-T Full Duplex и 10BASE-T Half Duplex, оставив более быстрые режимы не у дел. Если скорость задаётся хардкодом, то можно использовать только полудуплексный режим со всеми его недостатками. Да и то коммутатор будет не уверен, что действует правильно, и вообще, ему будет грустно.
4. Контроллеры Ethernet в МК позволяют автоматически генерировать и проверять CRC у Ethernet Frame. Результат проверки выводится в какой-то флаг. Нужно его обязательно проверять. Если CRC не совпало — пакет должен быть уничтожен на месте. кроме того есть и иные очень полезные флаги ошибок, которые говорят, что в пакет во избежание досадных случайностей смотреть всё же не стоит.
5. Не забываем проверять адрес назначения широковещательного пакета с учётом маски. К тому же, контроллеры могут иметь возможность настраивать фильтры, откуда и что принимать, а какие пакеты выбрасывать, не глядя.
6. PHY, подключённый через интерфейс RMII обязан в случае наличия ошибки при приёме (например, коллизия) испортить все дальнейшие данные пакета. В частности, dp83849c выдаёт вместо всех недостоверных байт число 0x55. В LPC2368 я с этим столкнулся и не знал, что это за глюк такой. "To eliminate the requirement for this signal and still meet the requirements for undetected error rate, RXD[1:0] shall replace the decoded data in the receive stream with “01” until the end of carrier activity."

Проверьте, так ли это в вашем проекте?

Спецификация интерфейса RMII.

@темы: мии, программизмы, электроника, ethernet

Кто-то любит пирожки, а кто-то - нет.
Я хотел всё написать про протокол DMX на STM32. Я всё же сделал это>< Протокол сей используется большей частью в освещении (в театрах и типа того) и подобных некритических к потерям пактов областям. Один пакет DMX содержит информацию о уровнях 512 каналов (0-255), посылается он 44 раза в секунду, если без перерывов.
В качестве физической линии используется стандарт RS-485 (дифференциальная линия), программно же это последовательный асинхронный протокол (UART) со скоростью передачи данных 250 кбит/сек с двумя стоповыми битами и без контроля чётности.

читать дальше

@темы: arm, программизмы, электроника, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
Файлик system_stm32f4xx.c реализует канонную функцию SystemInit и настраивает тактирование системы. Не все знают, что для него есть гуй в виде экселевского файла, в котором можно изменить параметры под другой кварц, например, или ещё какую ерунду натворить.

скриншот

STM32F4xx_Clock_Configuration_V1.0.0.xls — гуй;
system_stm32f4xx.c — для работы от кварца 8 МГц.

@темы: arm, мии, няшодки, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
Чем мне нравится код, управляемый событиями, так это тем, что он позволяет его потестировать в автоматическом режиме. Код не знает, кто генерирует событие (нажатие кнопки или кручение энкодера), да и не важно ему это.
И никто не запрещает сделать тест, который эмулировал бы нужную последовательность действий пользователя/системы или целый ряд их вариантов, чтобы посмотреть, как устройство отреагирует.

Есть прибор, например, часы, с кнопками настройки: «Режим настройки», «+», «-», «Ок». Есть обработчик нажатия кнопки какой-либо:


И надо бы проверить, что настройка выполняется корректно. Что если мы жамкнем кнопку программирования, потом пощёлкаем кнопочками плюс или минус, применим изменения и проверим, получили ли ожидаемый результат. Или там пожамкаем без режима настройки, и убедимся, что ничего при этом не поменялось. Вручную всё это прогонять может быть лень. Или при разработке устройства временно может не быть кнопочек (не успели сделать панель управления), а код писать всё же как-то надо. Или код вручную проверить весьма затруднительно, там, например, обработка какого-нибудь хитрого пакета от недоступного в данный момент устройства.
Мало ли может быть причин это сделать.

читать дальше

@темы: мии, программизмы, тестирование

Кто-то любит пирожки, а кто-то - нет.
Смотрел видео водяной трёхступенчатой ракеты, которая улетела под две сотни метров в высоту. Было б здорово запустить что-то такое, да >< Хотя бы и одноступенчатое на пару десятков метров...

@темы: мии, няшодки

Кто-то любит пирожки, а кто-то - нет.
Таймеры TIM2-TIM5 умеют аппаратно работать с поворотным энкодером. То есть вращение энкодера будет вызывать изменение регистра-счётчика (который TIMx->CNT). На самой плате энкодера нема, потому нужен свой. Если нема своего, то можно вовсе не смотреть.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, электроника, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
Раз уж я вернулся к теме ассемблера, стоит посмотреть и случай, когда регистров начинает не хватать.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, ассемблер, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
Точно такой же отладочный вывод можно применять и в ассемблерном проекте. Кстати, это вполне себе повод ознакомиться с представлением строк в си и хотя бы самой простой работе с ними.
Файл retarget.c пусть и остаётся самим собой, реализация функции ITM_SendChar описана в файле cm4_core.h и пусть она там остаётся. Желающие, конечно, могут переписать на асм, она маленькая.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, ассемблер, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
бла бла бла



@темы: манга

Кто-то любит пирожки, а кто-то - нет.
Не все знают, что ST-Link на плате поддерживает трассировку (хотя бы по минимуму) и это можно использовать, чтобы выводить текстовую отладочную информацию с помощью printf прямо в кейл. Причём, это даже совсем не сложно.

Для начала требуется модуль трассировки в свойствах отладчика включить (см. на рисунке 1). И указать актуальную частоту ядра контроллера (см. на рисунке 2). Если system_stm32f4xx.c не используется, пишем 16, если же используется, то пишем 168. Если своя настройка производится — пишем своё число.
Для текстового отладочного вывода используется нулевой порт, только его и разрешим (см. на рисунке 3), нечего захламлять линию. То есть надо снять все галочки, каких на картинке нет (или в соответствующее поле записать 1).
читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
Совсем скоро будет показан спинофф от Лаки Стара, Miyakawa-ke no Kuufuku, радость ^^ Коната там точно должна быть же :з



Кстати, манга же ещё выходит, надо бы почитать далее:з

@темы: мии, няшодки, lucky_star

16:31

STM32F4. RTC

Кто-то любит пирожки, а кто-то - нет.
В STM32, конечно же, есть контроллер часов реального времени.

Для его запуска не обязательно даже иметь внешний кварц на 32.768 кГц, так как затактировать можно от внутреннего LSI-генератора на ~32 кГц (с возможностью калибровки) или внешнего основного кварца (с настраиваемым предделителем).
А ещё, как бонус, 20 регистров (80 байт) для хранения разных данных, питание им будет идти от батарейки, от которой часы и работают, когда нет основного питания.
Возможностей у часов много, они подробно описаны в RM, остановимся пока на базовом уровне...

читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, электроника, stm32f4discovery, stm32

11:14

STM32F4. PWM

Кто-то любит пирожки, а кто-то - нет.
Практически все таймеры, за исключением базовых, имеют каналы сравнения, которые, в частности, умеют делать ШИМ. До четырёх штук на таймер. А именно: много всего
32 канала в сумме для всех таймеров, если я правильно посчитал.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, электроника, stm32f4discovery, stm32

Кто-то любит пирожки, а кто-то - нет.
Я что-то не понимаю в современном балете и театре в принципе, или оно странное? Оо И тут ещё не показана блюющая в биде тётя...

Впрочем, я боюсь увидеть "Иваны" в Александрининском театре, там тоже жесть.

Рандомпик:


@темы: мии

Кто-то любит пирожки, а кто-то - нет.
19.03.2013 в 19:06
Пишет  Onee-chan:

Onee-chan to isshou 4.1 - Храм Вашиномия, из аниме Lucky Star
Наконец-то и Онее-тян сподобилась побывать в этом самом первом и самом известном месте аниме-путешествий. Место, где уже побывали все отаку Японии, храм Вашиномия считается не только храмом аниме Lucky Star, но и храмом всего аниме вообще. Может быть, это потому, что это место находится относительно недалеко и в нём могут побывать все, кто приехал хотя бы в Токио.

Однако, ехать туда - путь не близкий: от Каматы по линии Кейхин-Тохоку почитай полтора часа до Омии, столицы префектуры Сайтама, а потом - ещё несколько остановок до линии Уцуномия до Куки, а в Куки - пересадка и ещё одна остановка.

Вот она, деревня Вашиномия! Будний день, тишина, тока петухи поют:

 photo IMG_5292_zpsa93dd192.jpg

читать дальше

URL записи

@темы: няшодки, lucky_star

Кто-то любит пирожки, а кто-то - нет.
Шестиногая и очень маленькая прозрачная фигня (2х2 мм). Напряжение питания до двух вольт (1.8 В), потребление очень маленькое, особенно если не использовать ИК-дальномер.
Разрешение АЦП: 14 бит. При таком разрешении единичное преобразование длится 100 мс (можно чувствительность увеличить в 4 раза за счёт времени интерполяции в 400 мс), при снижении до 8 бит - менее 2 мс.

Кроме непосредственного измерения цвета падающего на датчик света, он умеет и реагировать на события (когда какое-либо из значений выйдет из заданного диапазона) и установить низкий уровень на линии прерывания (~INT). Правда, прерывание возможно только по изменению расстояния или общей освещённости, но, думаю, большего и не надо.

читать дальше

@темы: электроника

17:30

STM32F4. I2C

Кто-то любит пирожки, а кто-то - нет.
Интерфейс i2c широко распространён и используется. В stm32f4 модулей, реализующих данный протокол, аж целых три штуки.
Естественно, с полной поддержкой всего этого дела.

читать дальше

<< Предыдущее Следующее >>

@темы: arm, программизмы, электроника, stm32f4discovery, stm32