RFM95 mit Radiohead auf Atmel Studio ASF für SAMD21

OP #5209908
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
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren