#define inpw(port) ((*((volatile unsigned int *)(port))))
uint8_t uart_rcvbuf[MAX_PKT_SIZE] = {0};
uint32_t lcmd ;
lcmd = inpw(uart_rcvbuf);
为什么我的串口中断里,只要跑到这句lcmd = inpw(uart_rcvbuf);,单片机马上进入到HardFault_Handler中断去
2022/09/06 15:15
1、ARM访问内存都需要地址对其的,例如你是访问word,地址需要4对其
2、可能你的变量uart_rcvbuf是局部变量,而stack定义太小,在startup_xxx.s里面放大stack定义,或者将uart_rcvbuf定义为全局变量