完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
TOF Sense激光测距模块的使用(stm32)
2020年电子设计竞赛F题中用到了激光测距模块。我使用的是Tof-sense,其他的产品也是大同小异的,如下图: 该模块使用方式非常简单,与stm32有两种通信方式,一种是can,另一种是串口通信,这里采用串口通信,模块 的 TXD 连接stm32的 RXD,模块 的 RXD 连接stm32的 TXD。数据格式如下: 协议由 Frame Header(帧头)、Function Mark(功能字)、Data(数据)、Sum Check(校验和)组成。其中 Frame Header、Function Mark 为固定不变的数值;Data 为传输的数据内容,Sum Check 为 Frame Header、Function Mark、Data 相加求和(即前面所有字节相加)后的最低字节。 协议组成:Frame Header + Function Mark + Data + Sum Check. 官方示例如下: 根据以上内容,编写stm32串口通信的代码: void USART2_IRQHandler(void) { static u8 seri_count=0; u16 check_sum=0; u8 i; static u8 flag=0; if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) { if(USART_ReceiveData(USART2) == 0x57) { flag = 1; } if(flag) { USART2_RX_BUF[seri_count++] =USART_ReceiveData(USART2); if(seri_count == 16) { if(USART2_RX_BUF[0]==0x57 ) { for( i = 0; i < 16-1; i++) { check_sum += USART2_RX_BUF; } if((check_sum & 0x00ff)== USART2_RX_BUF[15]) { TFMINI_Distance = (USART2_RX_BUF[10] <<16| USART2_RX_BUF[9]<<8|USART2_RX_BUF[8])/ 10; } seri_count = 0; flag=0; } } } } } 这样就可以获得距离数据了! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1758 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1055 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1670 浏览 2 评论
1932浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
722浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
563浏览 3评论
590浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
548浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 05:21 , Processed in 0.818123 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号