Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
внимательно изучите инструкцию :=)
Некоторые модули имеют проблемы с совмесным запуском. То, что является ошибками, описано в errata. В основном это касается одновременной работы модулей SPI и USART в СИНХРОННОМ режиме, т.е. получить 5 SPI не получится.
Но кроме того, нужно ОЧЕНЬ ВНИМАТЕЛЬНО распределять функции между модулями и между пинами, некоторые могут оказаться взаимоисключающими. Чего-то подобного ConfigWizard`у от силабса для стм32 я не нашел, поэтому для удобства создал экселевскую таблицу с описанием пинов и модулей, по ней и выстраиваю периферию.
Кроме того, в стм32 нету фифо в последовательных портах, но зато есть DMA. Это поначалу немного непривычно, потом оказывается весьма удобным. Но тут зарыта ещё одна собака: каналов DMA немного: для 128кБ чипов их всего 7, и запросы на каждый могут приходить только от определенного набора периферии. В самом первом проекте я на эти грабли наступил: USART1 и SPI2 пользуются одними и теми же каналами DMA, поэтому мне пришлось один из модулей (уарт) использовать без DMA - по прерываниям (как в старых добрых 51 :) Хорошо что по уарту поток был слабенький - 115200 сделал легко, а вот если бы потребовался 1Мбит например, уже было бы сложнее. Или пришлось бы править плату и перебрасывать на SPI1. Но прерывания обслуживаются быстро (быстрее чем LPC21).
Да и отладка сильно радует: до 8(?) точек останова, точки останова можно ставить прямо на ходу, переменные тоже можно отслеживать на ходу, АЦП очень неплох, порадовало и потребление (как для такой производительности), хотя для батарейных устройств и не очень хорошо. Весьма наворочаные таймеры, они же могут работать и аппаратными энкодерами, и ШИМами (по 4 канала у каждого таймера), могут синхронизировать друг друга
Составить ответ | Вернуться на конференцию.
Ответы
- а это - koyodza (16.10.2009, 22:42:20 93.73.221.55, 108 байт, ссылка)
- и ещё - koyodza (16.10.2009, 22:36:22 93.73.221.55, 489 байт)