Forum: Mikrocontroller und Digitale Elektronik RFM95 mit Radiohead auf Atmel Studio ASF für SAMD21


von Thomas K. (technomicro)


Lesenswert?

Die Radiohead-Library für RFM95 u.a. arbeitet gut in der Adruino-IDE.
Um damit komfortabler mit einem SAMD21 in Atmel Studio arbeiten zu 
können, ist eine Portierunge notwendig.

Mit dem ASF des Atmel Studio kann der SPI bequem eingerichtet werden.
Hat jemand einen Wrapper oder eine Adaption für RadioHead?

1
//configure_spi_master_______________________
2
void configure_spi_master(void)
3
{//SERCOM3, mux D
4
  struct spi_config config_spi_master;
5
  struct spi_slave_inst_config  slave_dev_config;
6
//slave_dev_config:  
7
  spi_slave_inst_get_config_defaults(&slave_dev_config);
8
  slave_dev_config.ss_pin = PIN_PA18;
9
  spi_attach_slave(&slave, &slave_dev_config);
10
  
11
//config_spi_master:  
12
  spi_get_config_defaults(&config_spi_master);
13
  config_spi_master.mux_setting = SPI_SIGNAL_MUX_SETTING_D;    //PAD0=MOSI, PAD1=SCK, PAD2=nix, PAD3=MISO. siehe=10.1.Master Mode Settings in Atmel-42115
14
  config_spi_master.pinmux_pad0 = PINMUX_PA16D_SERCOM3_PAD0;    //MOSI an PA16
15
  config_spi_master.pinmux_pad1 = PINMUX_PA17D_SERCOM3_PAD1;    //SCK an PA17
16
  config_spi_master.pinmux_pad2 = PINMUX_UNUSED;        //CS=NSS an PA18
17
  config_spi_master.pinmux_pad3 = PINMUX_PA19D_SERCOM3_PAD3;    //MISO an PA19
18
  //config_spi_master.generator_source=GCLK_GENERATOR_0;
19
  
20
  config_spi_master.transfer_mode = SPI_TRANSFER_MODE_0;
21
  config_spi_master.data_order = SPI_DATA_ORDER_MSB;
22
  config_spi_master.run_in_standby=false;
23
  config_spi_master.mode_specific.master.baudrate = 250000;
24
  spi_init(&spi_master_instance, SERCOM3, &config_spi_master);  
25
  spi_enable(&spi_master_instance);
26
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.