三.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工具,说明安装成功