Не уверен, что я ищу не в том месте, но мне сложно найти пошаговый код, который показывает, как манипулировать контактами ввода-вывода и контроль I2C, SPI и USART.Адресация контактов (серия ARM SAM D) для IO и SERCOM
Рытье межсети, я нашел 2 примера, которые показывают IO на булавку, чтобы включить светодиод, используя Atmel студии 7
#include <asf.h>
#define F_CPU sysclk_get_cpu_hz()
#define __DELAY_CYCLE_INTRINSICS__
int main (void)
{
board_init();
PORT ->Group[0].DIRSET.reg = PORT_PA10;
while (1)
{
PORT ->Group[0].OUTSET.reg = PORT_PA10;
}
}
В другом примере, та же операция поворота на ниппеля сделано совсем по-другому, с дополнительной задержкой, чтобы светодиод мигал. Я помню, что это «ASF», API Atmel, используемый для облегчения вещей.
#include <asf.h>
int main (void)
{
system_init();
delay_init();
while(true)
{
delay_ms(250);
port_pin_set_output_level(LED_PIN, LED_ACTIVE);
delay_ms(250);
port_pin_set_output_level(LED_PIN, LED_INACTIVE);
}
}
Это все замечательно; Я кое-что вижу, как делать вещи; но теперь я хотел бы использовать SERCOM для связи с другими устройствами с USART, I2C и SPI. И мне трудно найти ясный шаг за шагом, для такого использования.
Я попытался экспериментировать сам по себе, но теперь я нахожусь в точке, где мне нужно что-то следовать, либо книгу, учебник, либо видео. Может быть, я нахожу небольшую документацию, потому что я ищу примеры для конкретного чипа? Но не все чипы ARM работают одинаково, с одним и тем же кодом, поэтому я совершенно потерял ... быть новичком в программировании ARM тоже не помогает.
Вы можете попробовать Atmel Start (http://start.atmel.com/). Создайте проект с целевым устройством, добавьте необходимые вам функции (немного выделите) и экспортируйте его. Это должно дать вам необходимый вам код библиотеки, а также некоторые примеры функций, чтобы показать вам, как его использовать. Есть также полные примеры, которые вы можете скачать и поиграть. –
Обратите внимание, что речь идет только о периферийных устройствах микроконтроллера, а не о центральном ядре процессора, поэтому он фактически не имеет ничего общего с ARM и все, что связано с Atmel (например, я думаю, что некоторые из их периферийных блоков могут быть общими для ARM-based и AVR32 на основе). – Notlikethat
@IvarBonsaksen: есть примеры, но они сбивают с толку. В большинстве случаев API имеет отличные примеры, но в случае с Atmel они отлично справились с документами, но для примеров они очень сильно связаны с платформой eval, что в некоторых аспектах отличается. Я хотел бы видеть ясный пример, где вы начинаете с нуля, но я нашел только один, который показывает, как включить булавку для светодиода. –