STM32+致远电子Dport模块的Ethercat从站开发

环境准备

硬件环境

1.Dport-stm32评估板

2.stlink

3.千兆网线

4.安装有twincat3的上位机电脑(带千兆网口)

 

软件环境

1.TC31-FULL-Setup.3.1.4024.53.exe

2.mdk5开发环境

3.SSC Tool.exe

4.stm32cubemx

 

例程资料

1.致远电子官网

 

开发流程

1.底层硬件

EPC103-DP系统框图,可能使用et1100作为core

2.硬件抽象

sync0->PA1->EXTI1

sync1->PA2->EXTI2

PDI->PA0->EXTI0

 

3.软件操作:

打开8led的示例工程并烧录

注意这里的烧录器需要更改两处,并且文档包含中文路径,需要将code(包含ethercat文件夹)整体剥离出来,并且使用v5的编译器,否则无法生成browse info

.

我们梳理一下例程的数据流:

移植平台对示例文件的改动:

1.spi的收发函数

2.片选引脚

extern SPI_HandleTypeDef hspi1;
#define SPI_WRITE_AND_READ(TX_BUFFER,RX_BUFFER,Size)      HAL_SPI_TransmitReceive(&hspi1, TX_BUFFER, RX_BUFFER,Size, HAL_MAX_DELAY)
#define SELECT_SPI                                        HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)                    
#define DESELECT_SPI                                      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET)

3.外部中断(sync0,sync1)

例程内采用SM+DC模式,具体用哪种可以在上位机中切换

void DISABLE_ESC_INT(void){
#if AL_EVENT_ENABLED
	HAL_NVIC_DisableIRQ(EXTI0_IRQn);
#endif
}
void ENABLE_ESC_INT(void){
#if AL_EVENT_ENABLED
	HAL_NVIC_EnableIRQ(EXTI0_IRQn);
#endif
}

4.

posted @ 2024-10-29 17:09  为鲸  阅读(16)  评论(0编辑  收藏  举报