ADXL345串口输出

xiaoxiao2021-02-28  72

昨天完成了ADXL345的中断数据读取,今天就想着把读取的数据通过串口输出到电脑上,并用MATLAB看一下值的变化趋势

刚开始读不出数据的时候,一种从程序中找问题,后来才发现stm32的tx引脚没有与串口的rx相连,tx的引脚可以从cube中查看

本次使用的是PA9

程序中的语句是很简单的

先新建一个CUbe工程,添加USART1,然后将以前写的程序复制过来(貌似是不能直接打开以前的cube工程添加usart,会使你自己写的程序丢掉)

在主函数里加入 HAL_UART_Transmit(&huart1,buf,6,0xffff); 这么一句简单的命令就够了。

这期间还遇到很多问题,在主函数中没有加入usart的初始化;串口助手中的波特率没有更改

自己写了一段MATLAB的程序

clear all; a=textread('ADXL345数据.txt','%s'); b=reshape(a,39,6);//我在上一句读入字符后得到的是n*1的矩阵,所以要改回来 for i=1:39     for j=1:3         c(i,j)=strcat(b(i,2*j),b(i,2*j-1));//为了将0x32,0x33中的十六进制数据转化为十进制的数据     end end d=hex2dec(c); e=reshape(d,39,3); x=e(:,1); y=e(:,2); z=e(:,3); plot(x,'r'); hold on plot(y,'b'); hold on  plot(z,'y')

不知道今天这样得到的数据是否正确,做点总结记录一下,明天再验证一下。

转载请注明原文地址: https://www.6miu.com/read-82968.html

最新回复(0)