Arduino 将SPI的SERCOM引脚设置为SAMD21上主控的对立面不工作

Arduino 将SPI的SERCOM引脚设置为SAMD21上主控的对立面不工作,arduino,spi,samd21,Arduino,Spi,Samd21,我想让我的SAMD21芯片成为SPI的奴隶 我有以下PIN码: PB10-as-MOSI PB11作为SCK PA10 as SS PA12作为味噌 这些引脚大部分属于SERCOM4 但是,当我按如下方式设置这些引脚时,它们无法正常工作: PORT->Group[PORTB].PINCFG[10].bit.PMUXEN = 0x1; //Enable Peripheral Multiplexing for SERCOM4 SPI PA12 Arduino PIN22 PORT-&g

我想让我的SAMD21芯片成为SPI的奴隶

我有以下PIN码:

  • PB10-as-MOSI
  • PB11作为SCK
  • PA10 as SS
  • PA12作为味噌
这些引脚大部分属于SERCOM4

但是,当我按如下方式设置这些引脚时,它们无法正常工作:

 PORT->Group[PORTB].PINCFG[10].bit.PMUXEN = 0x1; //Enable Peripheral Multiplexing for SERCOM4 SPI PA12 Arduino PIN22
 PORT->Group[PORTA].PMUX[6].bit.PMUXE = 0x3; //SERCOM 4 is selected for peripheral use of this pad (0x3 selects peripheral function D: SERCOM-ALT)
 PORT->Group[PORTB].PINCFG[11].bit.PMUXEN = 0x1; //Enable Peripheral Multiplexing for SERCOM4 SPI PB09 Arduino PIN16
 PORT->Group[PORTB].PMUX[4].bit.PMUXO = 0x3; //SERCOM 4 is selected for peripheral use of this pad (0x3 selects peripheral function D: SERCOM-ALT)
 PORT->Group[PORTA].PINCFG[10].bit.PMUXEN = 0x1; //Enable Peripheral Multiplexing for SERCOM4 SPI PB10 Arduino PIN23
 PORT->Group[PORTB].PMUX[5].bit.PMUXE = 0x3; //SERCOM 4 is selected for peripheral use of this pad (0x3 selects peripheral function D: SERCOM-ALT)
 PORT->Group[PORTA].PINCFG[12].bit.PMUXEN = 0x1; //Enable Peripheral Multiplexing for SERCOM4 SPI PB11 Arduino PIN24
 PORT->Group[PORTB].PMUX[5].bit.PMUXO = 0x3; //SERCOM 4 is selected for peripheral use of this pad (0x3 selects peripheral function D: SERCOM-ALT)
我使用图书馆

我使用arduino IDE和SAMD:M0或somethings M0 Pro(Navctive)板布局对芯片进行编程

根据文件要求,销应:


  • |1 | 1在配置中混合使用PORTA和PORTB在我看来是错误的,但可能只是奇怪的顺序?你能澄清一下哪些线设置了哪些引脚吗?“工作不正常”还需要更多细节。@domen感谢您的回复。Sercom4看起来确实有点混搭(参见我添加的文档)。我只是从其他地方添加了一个slave select,但我认为这不会是一个问题。工作不正常意味着:我没有收到来自主设备的消息,并且从设备选择中断没有触发。你确定
    PORT->Group[PORTB]吗。PINCFG[10]。bit.PMUXEN
    代表
    PA12
    ,以此类推代表其余管脚。在不进入数据表的情况下,它看起来非常错误,如果它确实正确的话,至少应该说明为什么它看起来如此错误。另一方面,PORTB/10与问题中的PB10相匹配,其他引脚也一样,所以可能只是注释不同步。然后,下一个奇怪的部分是PMUXE/O,它似乎再次混淆了。