minimumlaw 0 20 марта, 2014 Опубликовано 20 марта, 2014 (изменено) · Жалоба Такое ощущение складывается, что ASF писала не одна команда программистов, а будто куски нахватали из разных мест и собрали в кучу. Категорически неправильное ощущение. Все дело в том, что ASF API работает на всех камнях от Atmel'а (AVR, AVR32, xMega, Cortex'ы). Как следствие универсальности усложненность и избыточность. Поэтому подходит для быстрого прототипирования, но не желательно (не невозможно, а нежелательно) применять его в конечном изделии. Но тенденция в Ваших вопросах мне нравится. Еще немного и Вы поймете, что ASF или STM Lib всего лишь средство прототипирования. Что до кокретно взятого SPI. Возъмем его API. Что мы имеем? spi_set_baudrate_div(...) spi_set_bits_per_transfer(...) spi_set_clock_phase(...) spi_set_clock_polarity(...) spi_enable_clock(...) Вы видите более удобной запись в стиле ST: struct { .baud = ... .bits = .... .CPA = .... .CPH = .... } spi_master; eneble_periph_clock(...) spi_deinit(); spi_init(spi_master): Ну не знаю... Я даже не буду говорить о том, что память под структуру выделяется либо глобально (и забирает ее у проекта) либо в стеке и тем самым заставляя его расти. Но он просто выглядит куда более громозко и неиформативно. Конечно, если знать что такое SPI, какие главные параметры ему надо выставить. Но ведь даже ST не снимает этого ограничения. Я в свое время долго думал над этой их структурой. Половина структуры относится к SPI, половина к I2S при этом что к чему неочевидно. А еще и есть поля, относящиеся и к одному и к другому. А хваленые коментарии в коде не помогают чуть меньше чем совсем. Только чтение datasheet и понимание текста функции init(). Здесь (IHMO) все гораздо прозрачнее. Да и вообще, но по моим ощущениям именно это и есть крайне неудобная часть в STM библиотеке. Хуже только USB стек с бесконечными unsigned char devDesc[] = { 0xFA, 0xFB, // wVendorId 0x00, 0x01, // wProductId .... } Только за это расстрелял бы на месте. Изменено 20 марта, 2014 пользователем Alex A. Mihaylov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 8 мая, 2014 Опубликовано 8 мая, 2014 · Жалоба Блин, пришлось воспользоваться процессором ATSAM3A (из-за USB host), к которому нет обычных примеров от Атмела, а есть только ASF. Вот мне было бы интересно просверлить голову тому чуваку, который эту ASF затеял и посмотреть что там есть. Хоть прям STM32 бери... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 42 11 мая, 2014 Опубликовано 11 мая, 2014 · Жалоба Вот мне было бы интересно просверлить голову тому чуваку, который эту ASF затеял и посмотреть что там есть. Мне тоже ))). Свалили все в одну кучу. До этого у них был AT91SoftwarePakage (или как-то так) все гораздо прозрачнее было. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться