added 10ms timer for util

stable
Penguin 2 years ago
parent ff0e117809
commit ac5803631b

@ -234,7 +234,7 @@
#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U
#define USE_HAL_SWPMI_REGISTER_CALLBACKS 0U
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U
#define USE_HAL_TIM_REGISTER_CALLBACKS 1U
#define USE_HAL_TSC_REGISTER_CALLBACKS 0U
#define USE_HAL_UART_REGISTER_CALLBACKS 1U
#define USE_HAL_USART_REGISTER_CALLBACKS 0U

@ -57,6 +57,7 @@ DMA_HandleTypeDef hdma_usart1_rx;
uint8_t huart2_rxc;
uint8_t huart1_rxc;
static uint32_t sys_time = 0;
static uint32_t _my_time = 0;
static bool b_timer_struck = false;
/* USER CODE END PV */
@ -72,6 +73,8 @@ static void MX_TIM6_Init(void);
static void MX_TIM7_Init(void);
/* USER CODE BEGIN PFP */
static void UART2_RxCpltCallback(UART_HandleTypeDef *huart);
static void _tim6_period_elapsed_cb(TIM_HandleTypeDef *htim);
static void _tim7_period_elapsed_cb(TIM_HandleTypeDef *htim);
/* USER CODE END PFP */
@ -131,6 +134,7 @@ int main(void)
mc_init(&htim2);
HAL_UART_Receive_IT(&huart2, &huart2_rxc, 1);
HAL_TIM_Base_Start_IT(&htim6);
HAL_TIM_Base_Start_IT(&htim7);
p_serial_mgr_start();
@ -319,6 +323,7 @@ static void MX_TIM6_Init(void)
Error_Handler();
}
/* USER CODE BEGIN TIM6_Init 2 */
htim6.PeriodElapsedCallback = _tim6_period_elapsed_cb;
/* USER CODE END TIM6_Init 2 */
}
@ -343,8 +348,8 @@ static void MX_TIM7_Init(void)
htim7.Instance = TIM7;
htim7.Init.Prescaler = 1000;
htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
htim7.Init.Period = 72;
htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
htim7.Init.Period = 720;
htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
{
Error_Handler();
@ -356,6 +361,7 @@ static void MX_TIM7_Init(void)
Error_Handler();
}
/* USER CODE BEGIN TIM7_Init 2 */
htim7.PeriodElapsedCallback = _tim7_period_elapsed_cb;
/* USER CODE END TIM7_Init 2 */
}
@ -475,7 +481,7 @@ void UART2_RxCpltCallback(UART_HandleTypeDef *huart)
HAL_UART_Receive_IT(&huart2, &huart2_rxc, 1);
}
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
void _tim6_period_elapsed_cb(TIM_HandleTypeDef *htim)
{
sys_time++;
if (sys_time % 1000 == 0)
@ -485,6 +491,17 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
}
}
void _tim7_period_elapsed_cb(TIM_HandleTypeDef *htim)
{
_my_time++;
if (_my_time % 100 == 0)
{
PDEBUG("my time: %d\n", _my_time);
}
// do stuff
// every 10ms
}
void setPWM(TIM_HandleTypeDef *timer, uint32_t channel, uint8_t dc_percent)
{
HAL_TIM_PWM_Stop(timer, channel);

@ -1,5 +1,5 @@
##########################################################################################################################
# File automatically-generated by tool: [projectgenerator] version: [3.16.0] date: [Thu Jun 30 14:16:51 CDT 2022]
# File automatically-generated by tool: [projectgenerator] version: [3.16.0] date: [Thu Jun 30 14:32:12 CDT 2022]
##########################################################################################################################
# ------------------------------------------------

@ -27715,3 +27715,534 @@ A debugging session is active.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
UART_RxISR_16BIT (huart=0x2000206c <sbuffer+4780>) at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4493
4493 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
### Assembly ############################################################################################################################################################################################################################
0x080066b8 UART_RxISR_16BIT+234 str r5, [r5, #96] ; 0x60
0x080066ba UART_RxISR_16BIT+236 lsrs r0, r0, #32
0x080066bc UART_RxISR_16BIT+238 push {r7}
0x080066be UART_RxISR_16BIT+240 add r7, sp, #0
0x080066c0 UART_RxISR_16BIT+242 nop
0x080066c2 UART_RxISR_16BIT+244 mov sp, r7
0x080066c4 UART_RxISR_16BIT+246 ldr.w r7, [sp], #4
0x080066c8 UART_RxISR_16BIT+250 bx lr
0x080066ca UART_RxISR_16BIT+252 movs r0, r0
0x080066cc UART_RxISR_16BIT+254 push {r7, lr}
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080066c2 msp 0x2000ffec basepri 0x00
r1 0x40013808 r4 0x2000206c r7 0x2000ffec r10 0x00000000 sp 0x2000ffec xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011f3 fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
4483 huart->RxISR = NULL;
4484
4485 /* Check current reception Mode :
4486 If Reception till IDLE event has been selected : */
4487 if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE)
4488 {
4489 /* Set reception type to Standard */
4490 huart->ReceptionType = HAL_UART_RECEPTION_STANDARD;
4491
4492 /* Disable IDLE interrupt */
4493 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE);
4494
4495 if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) == SET)
4496 {
4497 /* Clear IDLE Flag */
4498 __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF);
4499 }
4500 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1)
4501 /*Call registered Rx Event callback*/
4502 huart->RxEventCallback(huart, huart->RxXferSize);
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080066c2 in UART_RxISR_16BIT+244 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4493
[1] from 0x00000000
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080066c2 in UART_RxISR_16BIT+244 at Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c:4493
### Variables ###########################################################################################################################################################################################################################
arg huart = 0x2000206c <sbuffer+4780>: {Instance = 0x444b0301,Init = {BaudRate = 34140576,WordLength = …
loc val = 0, tmp = 0x0: 0, uhMask = 0, uhdata = 0
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb0 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be70
Loading section .ARM, size 0x8 lma 0x800c2d0
Loading section .init_array, size 0x8 lma 0x800c2d8
Loading section .fini_array, size 0x8 lma 0x800c2e0
Loading section .data, size 0x9a8 lma 0x800c2e8
Start address 0x08006a00, load size 52320
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:55
55 {
### Assembly ############################################################################################################################################################################################################################
~
~
~
~
~
0x080069a4 p_serial_mgr_service+0 push {r7}
0x080069a6 p_serial_mgr_service+2 add r7, sp, #0
0x080069a8 p_serial_mgr_service+4 nop
0x080069aa p_serial_mgr_service+6 mov sp, r7
0x080069ac p_serial_mgr_service+8 ldr.w r7, [sp], #4
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080069a4 msp 0x2000fff0 basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000fff0 r10 0x00000000 sp 0x2000fff0 xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011f7 fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
45 p_serial_mgr_start();
46 }
47
48 void p_serial_mgr_init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma)
49 {
50 _serial_huart_inst = huart;
51 _serial_dma_inst = hdma;
52 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
53 }
54 void p_serial_mgr_service(void)
55 {
56 // HAL_Delay(100);
57 // PDEBUG("%d\n", __HAL_DMA_GET_COUNTER(_serial_dma_inst));
58 }
59
60 void p_serial_mgr_start()
61 {
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
63 }
~
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080069a4 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:55
[1] from 0x080011f6 in main+142 at Core/Src/main.c:147
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080069a4 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:55
### Variables ###########################################################################################################################################################################################################################
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb0 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be70
Loading section .ARM, size 0x8 lma 0x800c2d0
Loading section .init_array, size 0x8 lma 0x800c2d8
Loading section .fini_array, size 0x8 lma 0x800c2e0
Loading section .data, size 0x9a8 lma 0x800c2e8
Start address 0x08006a00, load size 52320
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:55
55 {
### Assembly ############################################################################################################################################################################################################################
~
~
~
~
~
0x080069a4 p_serial_mgr_service+0 push {r7}
0x080069a6 p_serial_mgr_service+2 add r7, sp, #0
0x080069a8 p_serial_mgr_service+4 nop
0x080069aa p_serial_mgr_service+6 mov sp, r7
0x080069ac p_serial_mgr_service+8 ldr.w r7, [sp], #4
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080069a4 msp 0x2000fff0 basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000fff0 r10 0x00000000 sp 0x2000fff0 xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011f7 fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
45 p_serial_mgr_start();
46 }
47
48 void p_serial_mgr_init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma)
49 {
50 _serial_huart_inst = huart;
51 _serial_dma_inst = hdma;
52 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
53 }
54 void p_serial_mgr_service(void)
55 {
56 // HAL_Delay(100);
57 // PDEBUG("%d\n", __HAL_DMA_GET_COUNTER(_serial_dma_inst));
58 }
59
60 void p_serial_mgr_start()
61 {
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
63 }
~
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080069a4 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:55
[1] from 0x080011f6 in main+142 at Core/Src/main.c:147
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080069a4 in p_serial_mgr_service+0 at shared/drivers/p_serial_mgr.c:55
### Variables ###########################################################################################################################################################################################################################
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb0 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be70
Loading section .ARM, size 0x8 lma 0x800c2d0
Loading section .init_array, size 0x8 lma 0x800c2d8
Loading section .fini_array, size 0x8 lma 0x800c2e0
Loading section .data, size 0x9a8 lma 0x800c2e8
Start address 0x08006a00, load size 52320
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
0x080069aa in p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:55
55 {
### Assembly ############################################################################################################################################################################################################################
~
~
~
~
0x080069a8 p_serial_mgr_service+0 nop
0x080069aa p_serial_mgr_service+2 mov sp, r7
0x080069ac p_serial_mgr_service+4 ldr.w r7, [sp], #4
0x080069b0 p_serial_mgr_service+8 bx lr
0x080069b2 p_serial_mgr_service+10 movs r0, r0
0x080069b4 p_serial_mgr_service+12 push {r7, lr}
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080069aa msp 0x2000ffec basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000ffec r10 0x00000000 sp 0x2000ffec xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011f7 fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
45 p_serial_mgr_start();
46 }
47
48 void p_serial_mgr_init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma)
49 {
50 _serial_huart_inst = huart;
51 _serial_dma_inst = hdma;
52 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
53 }
54 void p_serial_mgr_service(void)
55 {
56 // HAL_Delay(100);
57 // PDEBUG("%d\n", __HAL_DMA_GET_COUNTER(_serial_dma_inst));
58 }
59
60 void p_serial_mgr_start()
61 {
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
63 }
~
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080069aa in p_serial_mgr_service+2 at shared/drivers/p_serial_mgr.c:55
[1] from 0x080011f6 in main+142 at Core/Src/main.c:147
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080069aa in p_serial_mgr_service+2 at shared/drivers/p_serial_mgr.c:55
### Variables ###########################################################################################################################################################################################################################
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb8 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be78
Loading section .ARM, size 0x8 lma 0x800c2d8
Loading section .init_array, size 0x8 lma 0x800c2e0
Loading section .fini_array, size 0x8 lma 0x800c2e8
Loading section .data, size 0x9a8 lma 0x800c2f0
Start address 0x08006a04, load size 52328
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
p_serial_mgr_service () at shared/drivers/p_serial_mgr.c:58
58 }
### Assembly ############################################################################################################################################################################################################################
~
~
~
0x080069a4 p_serial_mgr_service+0 ldr r1, [r3, #16]
0x080069a6 p_serial_mgr_service+2 lsrs r0, r0, #32
0x080069a8 p_serial_mgr_service+4 push {r7}
0x080069aa p_serial_mgr_service+6 add r7, sp, #0
0x080069ac p_serial_mgr_service+8 nop
0x080069ae p_serial_mgr_service+10 mov sp, r7
0x080069b0 p_serial_mgr_service+12 ldr.w r7, [sp], #4
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080069a8 msp 0x2000fff0 basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000fff0 r10 0x00000000 sp 0x2000fff0 xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011f7 fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
48 void p_serial_mgr_init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma)
49 {
50 _serial_huart_inst = huart;
51 _serial_dma_inst = hdma;
52 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
53 }
54 void p_serial_mgr_service(void)
55 {
56 // HAL_Delay(100);
57 // PDEBUG("%d\n", __HAL_DMA_GET_COUNTER(_serial_dma_inst));
58 }
59
60 void p_serial_mgr_start()
61 {
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
63 }
~
~
~
~
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080069a8 in p_serial_mgr_service+4 at shared/drivers/p_serial_mgr.c:58
[1] from 0x080011f6 in main+142 at Core/Src/main.c:147
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080069a8 in p_serial_mgr_service+4 at shared/drivers/p_serial_mgr.c:58
### Variables ###########################################################################################################################################################################################################################
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb0 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be70
Loading section .ARM, size 0x8 lma 0x800c2d0
Loading section .init_array, size 0x8 lma 0x800c2d8
Loading section .fini_array, size 0x8 lma 0x800c2e0
Loading section .data, size 0x9a8 lma 0x800c2e8
Start address 0x08006a00, load size 52320
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
0x080069aa in p_serial_mgr_init (huart=0x4642ec00, hdma=0x42c80000) at shared/drivers/p_serial_mgr.c:53
53 }
### Assembly ############################################################################################################################################################################################################################
0x080069a0 p_serial_mgr_init+36 ldr r5, [r2, #16]
0x080069a2 p_serial_mgr_init+38 lsrs r0, r0, #32
0x080069a4 p_serial_mgr_init+40 push {r7}
0x080069a6 p_serial_mgr_init+42 add r7, sp, #0
0x080069a8 p_serial_mgr_init+44 nop
0x080069aa p_serial_mgr_init+46 mov sp, r7
0x080069ac p_serial_mgr_init+48 ldr.w r7, [sp], #4
0x080069b0 p_serial_mgr_init+52 bx lr
0x080069b2 p_serial_mgr_init+54 movs r0, r0
~
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080069aa msp 0x2000ffec basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000ffec r10 0x00000000 sp 0x2000ffec xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011f7 fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
43 PDEBUG("%s\n", sbuffer[active_buffer]);
44 active_buffer = (active_buffer + 1) % NUM_BUFFERS;
45 p_serial_mgr_start();
46 }
47
48 void p_serial_mgr_init(UART_HandleTypeDef *huart, DMA_HandleTypeDef *hdma)
49 {
50 _serial_huart_inst = huart;
51 _serial_dma_inst = hdma;
52 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
53 }
54 void p_serial_mgr_service(void)
55 {
56 // HAL_Delay(100);
57 // PDEBUG("%d\n", __HAL_DMA_GET_COUNTER(_serial_dma_inst));
58 }
59
60 void p_serial_mgr_start()
61 {
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080069aa in p_serial_mgr_init+46 at shared/drivers/p_serial_mgr.c:53
[1] from 0x080011f6 in main+142 at Core/Src/main.c:141
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080069aa in p_serial_mgr_init+46 at shared/drivers/p_serial_mgr.c:53
### Variables ###########################################################################################################################################################################################################################
arg huart = 0x4642ec00: {Instance = 0x0,Init = {BaudRate = 0,WordLength = 0,StopBits = 0,Parity = 0,Mod…, hdma = 0x42c80000: {Instance = 0x0,Init = {Request = 0,Direction = 0,PeriphInc = 0,MemInc = 0,Peri…
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcc0 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be80
Loading section .ARM, size 0x8 lma 0x800c2e0
Loading section .init_array, size 0x8 lma 0x800c2e8
Loading section .fini_array, size 0x8 lma 0x800c2f0
Loading section .data, size 0x9a8 lma 0x800c2f8
Start address 0x08006a10, load size 52336
Transfer rate: 31 KB/sec, 5233 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
p_serial_mgr_start () at shared/drivers/p_serial_mgr.c:62
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
### Assembly ############################################################################################################################################################################################################################
~
~
~
~
0x080069bc p_serial_mgr_start+0 ldr.w r7, [sp], #4
0x080069c0 p_serial_mgr_start+4 bx lr
0x080069c2 p_serial_mgr_start+6 movs r0, r0
0x080069c4 p_serial_mgr_start+8 push {r7, lr}
0x080069c6 p_serial_mgr_start+10 add r7, sp, #0
0x080069c8 p_serial_mgr_start+12 ldr r3, [pc, #24] ; (0x80069e4 <p_serial_mgr_start+40>)
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080069c0 msp 0x2000fff0 basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000fff0 r10 0x00000000 sp 0x2000fff0 xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011fd fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
52 _serial_huart_inst->RxCpltCallback = UART1_RxCpltCallback;
53 }
54 void p_serial_mgr_service(void)
55 {
56 // HAL_Delay(100);
57 // PDEBUG("%d\n", __HAL_DMA_GET_COUNTER(_serial_dma_inst));
58 }
59
60 void p_serial_mgr_start()
61 {
62 HAL_UART_Receive_DMA(_serial_huart_inst, sbuffer[active_buffer], MAX_DMA_BUFFER_LEN);
63 }
~
~
~
~
~
~
~
~
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080069c0 in p_serial_mgr_start+4 at shared/drivers/p_serial_mgr.c:62
[1] from 0x00000000
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080069c0 in p_serial_mgr_start+4 at shared/drivers/p_serial_mgr.c:62
### Variables ###########################################################################################################################################################################################################################
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb8 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be78
Loading section .ARM, size 0x8 lma 0x800c2d8
Loading section .init_array, size 0x8 lma 0x800c2e0
Loading section .fini_array, size 0x8 lma 0x800c2e8
Loading section .data, size 0x9a8 lma 0x800c2f0
Start address 0x08006a08, load size 52328
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]
0x080011fc in main () at Core/Src/main.c:148
148 p_serial_mgr_service();
### Assembly ############################################################################################################################################################################################################################
0x080011ec main+132 bl 0x8001c3c <HAL_TIM_Base_Start_IT>
0x080011f0 main+136 bl 0x80069bc <p_serial_mgr_start>
0x080011f4 main+140 movs r3, #0
0x080011f6 main+142 strh r3, [r7, #6]
0x080011f8 main+144 bl 0x80069ac <p_serial_mgr_service>
0x080011fc main+148 b.n 0x80011f8 <main+144>
0x080011fe main+150 nop
0x08001200 main+152 lsrs r4, r5, #18
0x08001202 main+154 movs r0, #0
0x08001204 main+156 asrs r1, r4, #24
### Breakpoints #########################################################################################################################################################################################################################
### Expressions #########################################################################################################################################################################################################################
### History #############################################################################################################################################################################################################################
### Memory ##############################################################################################################################################################################################################################
### Registers ###########################################################################################################################################################################################################################
r0 0x00000000 r3 0x00000000 r6 0x00000000 r9 0x00000000 r12 0xffffffff pc 0x080011fc msp 0x2000fff0 basepri 0x00
r1 0x40013808 r4 0x2000220c r7 0x2000fff0 r10 0x00000000 sp 0x2000fff0 xPSR 0x41030000 psp 0x00000000 faultmask 0x00
r2 0x00004041 r5 0x00000000 r8 0x00000000 r11 0x00000000 lr 0x080011fd fpscr 0x00000010 primask 0x00 control 0x04
### Source ##############################################################################################################################################################################################################################
138
139 p_serial_mgr_start();
140
141 uint16_t motor_degrees = 0;
142 /* USER CODE END 2 */
143
144 /* Infinite loop */
145 /* USER CODE BEGIN WHILE */
146 while (1)
147 {
148 p_serial_mgr_service();
149 // if (b_timer_struck)
150 // {
151 // // PDEBUG("%d\n", sys_time);
152 // b_timer_struck = false;
153 // motor_degrees = (motor_degrees + 1) % 360;
154 // mc_service(motor_degrees, 50);
155 // }
156 // serial_pkt_t *pkt = NULL;
157 // if ((pkt = p_serial_mgr_service()) != NULL)
### Stack ###############################################################################################################################################################################################################################
[0] from 0x080011fc in main+148 at Core/Src/main.c:148
### Threads #############################################################################################################################################################################################################################
[1] id 0 from 0x080011fc in main+148 at Core/Src/main.c:148
### Variables ###########################################################################################################################################################################################################################
loc motor_degrees = 0
#########################################################################################################################################################################################################################################
Loading section .isr_vector, size 0x190 lma 0x8000000
Loading section .text, size 0xbcb8 lma 0x80001c0
Loading section .rodata, size 0x460 lma 0x800be78
Loading section .ARM, size 0x8 lma 0x800c2d8
Loading section .init_array, size 0x8 lma 0x800c2e0
Loading section .fini_array, size 0x8 lma 0x800c2e8
Loading section .data, size 0x9a8 lma 0x800c2f0
Start address 0x08006a08, load size 52328
Transfer rate: 31 KB/sec, 5232 bytes/write.
Unable to match requested speed 500 kHz, using 480 kHz
Unable to match requested speed 500 kHz, using 480 kHz
A debugging session is active.
Inferior 1 [Remote target] will be detached.
Quit anyway? (y or n) [answered Y; input not from terminal]
[Inferior 1 (Remote target) detached]

@ -141,12 +141,12 @@ ProjectManager.PreviousToolchain=STM32CubeIDE
ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=motor_controller.ioc
ProjectManager.ProjectName=motor_controller
ProjectManager.RegisterCallBack=UART
ProjectManager.RegisterCallBack=UART,TIM
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=Makefile
ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_USART2_UART_Init-USART2-false-HAL-true,5-MX_DMA_Init-DMA-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_TIM6_Init-TIM6-false-HAL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_TIM2_Init-TIM2-false-HAL-true,4-MX_USART2_UART_Init-USART2-false-HAL-true,5-MX_DMA_Init-DMA-false-HAL-true,6-MX_USART1_UART_Init-USART1-false-HAL-true,7-MX_TIM6_Init-TIM6-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true
RCC.48CLKFreq_Value=24000000
RCC.AHBFreq_Value=72000000
RCC.APB1Freq_Value=72000000
@ -217,8 +217,9 @@ TIM6.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM6.IPParameters=Prescaler,Period,AutoReloadPreload
TIM6.Period=72
TIM6.Prescaler=1000
TIM7.IPParameters=Prescaler,Period
TIM7.Period=72
TIM7.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
TIM7.IPParameters=Prescaler,Period,AutoReloadPreload
TIM7.Period=720
TIM7.Prescaler=1000
USART1.IPParameters=VirtualMode-Asynchronous,VirtualMode-Hardware Flow Control (RS485)
USART1.VirtualMode-Asynchronous=VM_ASYNC

Loading…
Cancel
Save