OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2421|回复: 1

#我的调试日志#串口CCS811调试记录

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2020-3-16
在线时间
7 小时
发表于 2020-3-18 10:41:37 | 显示全部楼层 |阅读模式
由于32是看原子哥的教程,我现在做项目都是用原子哥写好的库进行调试的,我走的是硬件设计,但是很多时候也需要写点小代码自己测一下的。所以有了这些调试分享,如果分享有问题或者大伙有什么意见欢迎提出一起进步。
手头上的模块是串口空气质量,传感器用到的是CCS811,简单的贴下这个模块的AT指令,根据原子哥的拓展历程HC05蓝牙模块进行改写。由于前面的AT指令放回的都是OK\r\n所以在历程上简单改写就可以了。问题不大我也贴出其中的一个函数作为参考。
最后在发送读取传感器数据的时候,遇到了AT+PRATE=0中返回的是OK\r\n CO2 = XXXppm;TVOS = xxxppb\r\n时,我把串口2读回来的数据USART2_RX_BUF在串口1回传到串口助手中,结果发现只有OK读到了,后面的数据基本丢失了。我就加入开始测试是串口1发送问题还是串口2接收问题,把串口二换成USB转TTL在上位机上发送数据,串口一拿到数据直接发回电脑,最后发现是串口二接收问题,于是我有找了串口2接收的函数,发现判断结束的条件两个字符相隔10ms以上就认为是结束了。为此我猜测这个模块的OK和后面的数据是分开发送的,修改了TIME4定时器的时间变为100ms后可以接收到后面的数据了,但是OK被覆盖掉了,如果想要OK与数据都接收得到还需要继续调整串口中断函数的接收部分。而且该传感器提供的隔x秒自动传输模式也能避免这个问题,算是菜鸟起步第一文,哈哈哈不知道能不能算分享。最后问一下CCS811的读取寄存器的数据是什么数据,要怎么转化成PPM的浓度呢?佛系求解答因为这部是硬件的工作就是自己好奇而已

AT波特率函数.png
AT指令.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2020-3-16
在线时间
7 小时
 楼主| 发表于 2020-3-18 10:43:04 | 显示全部楼层
后面看到原子哥的gsm模块,有处理过数据加OK的情况,还需要继续学习哦
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-22 21:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表