三.microchip 代理贝能的sam d51(LQFP100PIN)与LAN9253 电机控制开发板使用总结(1)

三.microchip 代理贝能的sam d51(LQFP100PIN)与LAN9253 电机控制开发板使用总结(1)

3.1 ethercat 代理开发板的原理图

在这里插入图片描述

3.1.1 lan9253 对应的MCU spi 初始化代码及其PIN配置

    SPI_CS_OutputEnable();
    SPI_CLK_OutputEnable();
    SPI_DATA_OutputEnable();
    
    SPI_CS_Set();
    SPI_CLK_Clear();
    SPI_DATA_Clear();

CS–PB11

CLK-PB10

DATA–PA8

MISO–PA9

3.1.2 SPI 宏定义

/*** Macros for spi_cs pin ***/
#define SPI_CS_Set()               (PORT_REGS->GROUP[1].PORT_OUTSET = ((uint32_t)1U << 11U))
#define SPI_CS_Clear()             (PORT_REGS->GROUP[1].PORT_OUTCLR = ((uint32_t)1U << 11U))
#define SPI_CS_Toggle()            (PORT_REGS->GROUP[1].PORT_OUTTGL = ((uint32_t)1U << 11U))
#define SPI_CS_OutputEnable()      (PORT_REGS->GROUP[1].PORT_DIRSET = ((uint32_t)1U << 11U))
#define SPI_CS_InputEnable()       (PORT_REGS->GROUP[1].PORT_DIRCLR = ((uint32_t)1U << 11U))
#define SPI_CS_Get()               (((PORT_REGS->GROUP[1].PORT_IN >> 11U)) & 0x01U)
#define SPI_CS_PIN                  PORT_PIN_PB11

/*** Macros for spi_cs pin ***/
#define SPI_CLK_Set()               (PORT_REGS->GROUP[1].PORT_OUTSET = ((uint32_t)1U << 10U))
#define SPI_CLK_Clear()             (PORT_REGS->GROUP[1].PORT_OUTCLR = ((uint32_t)1U << 10U))
#define SPI_CLK_Toggle()            (PORT_REGS->GROUP[1].PORT_OUTTGL = ((uint32_t)1U << 10U))
#define SPI_CLK_OutputEnable()      (PORT_REGS->GROUP[1].PORT_DIRSET = ((uint32_t)1U << 10U))
#define SPI_CLK_InputEnable()       (PORT_REGS->GROUP[1].PORT_DIRCLR = ((uint32_t)1U << 10U))
#define SPI_CLK_Get()               (((PORT_REGS->GROUP[1].PORT_IN >> 10U)) & 0x01U)
#define SPI_CLK_PIN                  PORT_PIN_PB10

 /*** Macros for spi_cs pin ***/
#define SPI_DATA_Set()               (PORT_REGS->GROUP[0].PORT_OUTSET = ((uint32_t)1U << 8U))
#define SPI_DATA_Clear()             (PORT_REGS->GROUP[0].PORT_OUTCLR = ((uint32_t)1U << 8U))
#define SPI_DATA_Toggle()            (PORT_REGS->GROUP[0].PORT_OUTTGL = ((uint32_t)1U << 8U))
#define SPI_DATA_OutputEnable()      (PORT_REGS->GROUP[0].PORT_DIRSET = ((uint32_t)1U << 8U))
#define SPI_DATA_InputEnable()       (PORT_REGS->GROUP[0].PORT_DIRCLR = ((uint32_t)1U << 8U))
#define SPI_DATA_Get()               (((PORT_REGS->GROUP[0].PORT_IN >> 8U)) & 0x01U)
#define SPI_DATA_PIN                  PORT_PIN_PA08

        
#define SPI_MISO_Set()               (PORT_REGS->GROUP[0].PORT_OUTSET = ((uint32_t)1U << 9U))
#define SPI_MISO_Clear()             (PORT_REGS->GROUP[0].PORT_OUTCLR = ((uint32_t)1U << 9U))
#define SPI_MISO_Toggle()            (PORT_REGS->GROUP[0].PORT_OUTTGL = ((uint32_t)1U << 9U))
#define SPI_MISO_OutputEnable()      (PORT_REGS->GROUP[0].PORT_DIRSET = ((uint32_t)1U << 9U))
#define SPI_MISO_InputEnable()       (PORT_REGS->GROUP[0].PORT_DIRCLR = ((uint32_t)1U << 9U))
#define SPI_MISO_Get()               (((PORT_REGS->GROUP[0].PORT_IN >> 9U)) & 0x01U)
#define SPI_MISO_PIN                  PORT_PIN_PA09        
        

不同得模块工程代码合并到一个工程??

3.2.microchip pickit4与开发板的连接

3.2.1 microchip pickit4 相关说明

在这里插入图片描述

在这里插入图片描述

箭头是1 PIN
在这里插入图片描述

3.2.2 开发板接口 相关说明

在这里插入图片描述

3.2.3 pickit4 USB驱动与识别

USB接入后自动安装,提示电脑重启后使用

重启后,打开IDE 工程设置属性,可见pickit 4工具,说明安装成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xushx_bigbear/article/details/130028241