From 1db5f5319846e257836b3fbbc290392fa677c489 Mon Sep 17 00:00:00 2001 From: zhaohe Date: Thu, 12 Oct 2023 19:54:23 +0800 Subject: [PATCH] update --- Core/Src/spi.c | 2 +- README.md | 9 ++++----- sdk | 2 +- tmc5160_motor.ioc | 6 +++--- usrc/main.cpp | 48 ++++++++++++++++++++++++++++++------------------ 5 files changed, 39 insertions(+), 28 deletions(-) diff --git a/Core/Src/spi.c b/Core/Src/spi.c index 6c5281b..f490d1a 100644 --- a/Core/Src/spi.c +++ b/Core/Src/spi.c @@ -44,7 +44,7 @@ void MX_SPI1_Init(void) hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; - hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128; + hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; diff --git a/README.md b/README.md index 18f1b4b..f9b0e1c 100644 --- a/README.md +++ b/README.md @@ -38,8 +38,7 @@ ref:https://iflytop1.feishu.cn/wiki/PbUHwG2o6ikWagkmsiqcTFwAnjp #define SENSOR_INT9 PD9 --------------------------------------------------- -1. 支持终点光电逻辑 -2. 支持起点光电逻辑 -3. 支持获取当前坐标逻辑 -4. 支持记录当前点作为逻辑点逻辑 -5. 支持flash保存参数逻辑 \ No newline at end of file +1. 支持位置限制逻辑 +2. 支持获取当前坐标逻辑 +3. 支持记录当前点作为逻辑点逻辑 +4. 支持flash保存参数逻辑 \ No newline at end of file diff --git a/sdk b/sdk index 853e586..7ac96f7 160000 --- a/sdk +++ b/sdk @@ -1 +1 @@ -Subproject commit 853e5868ca16ab3bcdbb97b22b84d3fa6a5be5fa +Subproject commit 7ac96f7487c64d6e23bf4e3e3c09bc1f910ddc96 diff --git a/tmc5160_motor.ioc b/tmc5160_motor.ioc index ec1b283..3acdabf 100644 --- a/tmc5160_motor.ioc +++ b/tmc5160_motor.ioc @@ -246,8 +246,8 @@ SH.GPXTI0.0=GPIO_EXTI0 SH.GPXTI0.ConfNb=1 SH.GPXTI4.0=GPIO_EXTI4 SH.GPXTI4.ConfNb=1 -SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_128 -SPI1.CalculateBaudRate=562.5 KBits/s +SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_32 +SPI1.CalculateBaudRate=2.25 MBits/s SPI1.Direction=SPI_DIRECTION_2LINES SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,BaudRatePrescaler SPI1.Mode=SPI_MODE_MASTER @@ -262,7 +262,7 @@ TIM6.IPParameters=Prescaler TIM6.Prescaler=71 TIM7.IPParameters=Prescaler TIM7.Prescaler=81 -USART1.BaudRate=1500000 +USART1.BaudRate=1000000 USART1.IPParameters=VirtualMode,BaudRate USART1.VirtualMode=VM_ASYNC USART2.IPParameters=VirtualMode diff --git a/usrc/main.cpp b/usrc/main.cpp index 64c4665..da2f25d 100644 --- a/usrc/main.cpp +++ b/usrc/main.cpp @@ -92,7 +92,7 @@ void umain() { g_motor.setDeceleration(300000); g_motor.setIHOLD_IRUN(0, 8, 10); - g_motor.rotate(300000); + g_motor.rotate(0); // g_motor.enable(false); auto zcanCmder_cfg = g_zcanCmder.createCFG(deviceId); @@ -118,23 +118,35 @@ void umain() { * zcanXYRobotCtrlModule * *******************************************************************************/ static ZGPIO input[10]; - input[0].initAsInput(SENSOR_INT0, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[1].initAsInput(SENSOR_INT1, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[2].initAsInput(SENSOR_INT2, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[3].initAsInput(SENSOR_INT3, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[4].initAsInput(SENSOR_INT4, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[5].initAsInput(SENSOR_INT5, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[6].initAsInput(SENSOR_INT6, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[7].initAsInput(SENSOR_INT7, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[8].initAsInput(SENSOR_INT8, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - input[9].initAsInput(SENSOR_INT9, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, false); - - // g_stepMotorCtrlModule.initialize(deviceId, &g_motor, &input[0], &input[1]); - // g_zcanStepMotorCtrlModule.initialize(&g_zcanCmder, 1, &g_stepMotorCtrlModule); - - // xyRobotCtrlModule.initialize(&motora, &motorb, &input[6], &input[7], IFLYTOP_NVS_CONFIG_FLASH_SECTOR); - // xyRobotCtrlModule.dumpcfg(); - // zcanXYRobotCtrlModule.initialize(&zcanCmder, 1, &xyRobotCtrlModule); + input[0].initAsInput(SENSOR_INT0, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[1].initAsInput(SENSOR_INT1, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[2].initAsInput(SENSOR_INT2, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[3].initAsInput(SENSOR_INT3, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[4].initAsInput(SENSOR_INT4, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[5].initAsInput(SENSOR_INT5, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[6].initAsInput(SENSOR_INT6, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[7].initAsInput(SENSOR_INT7, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[8].initAsInput(SENSOR_INT8, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + input[9].initAsInput(SENSOR_INT9, ZGPIO::kMode_nopull, ZGPIO::kIRQ_noIrq, true); + + OSDefaultSchduler::getInstance()->regPeriodJob( + [](OSDefaultSchduler::Context& context) { + ZLOGI(TAG, "[0]:%d [1]:%d [2]:%d [3]:%d [4]:%d [5]:%d [6]:%d [7]:%d [8]:%d [9]:%d", // + input[0].getState(), // + input[1].getState(), // + input[2].getState(), // + input[3].getState(), // + input[4].getState(), // + input[5].getState(), // + input[6].getState(), // + input[7].getState(), // + input[8].getState(), // + input[9].getState()); + }, + 1000); + + //g_stepMotorCtrlModule.initialize(deviceId, &g_motor, input, ZARRAY_SIZE(input)); + g_zcanStepMotorCtrlModule.initialize(&g_zcanCmder, 1, &g_stepMotorCtrlModule); while (true) { OSDefaultSchduler::getInstance()->loop();