ADXL345串口输出

来源:互联网 发布:蓝月传奇淘宝礼包 编辑:程序博客网 时间:2024/05/30 02:23

昨天完成了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')


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



原创粉丝点击