STM32串口接收数据保存到数组——遇到问题及解决方法
扫描二维码
随时随地手机看文章
遇到问题:
PC端发送给stm32的字符串数据,只有最后一个字节被保存在数组的首地址,其他数据都丢失,而且数组中只有首地址有数据。
比如我用PC给stm32发送abcd,返回到PC串口助手的数据只有d,查看数组发现里面数据[d,0,0,0,0,0,0,0,0........]。
解决方案:
错误的原因是,在中断服务函数中,每次来数据时,数组地址 t++ 的变量 t 被我定义成了局部变量,导致每次来中断时,t都被赋值为0,才导致只有数组首地址有数据,且之前的数据都被覆盖。
解决办法,把数组地址 t++ 的变量 t 定义为全局变量就ok了