登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
12
0
0
首页
雷达灯控教程
›
【雷达灯控】安信可 Rd-03E+距离预警灯
1
2
/ 2 页
下一页
返回列表
【雷达灯控】安信可 Rd-03E+距离预警灯
[ 复制链接 ]
发布帖子
Rustry
中级会员
2
主题
3
回帖
329
积分
中级会员
中级会员, 积分 329, 距离下一级还需 171 积分
中级会员, 积分 329, 距离下一级还需 171 积分
积分
329
私信
12人留言
楼主
雷达灯控教程
3131
12
2024-3-23 17:33:47
# 感谢 首先先感谢一下安信可举办的活动, 抱着陪跑的心态参加了抽奖,没想到居然中奖了 感谢园长 # 作品 这次使用的是之前参加活动送的 `Ai-M61-32S-Kit` 再次感谢园长 ## 代码 先给雷达模块刷入了精准测距固件 查阅手册得到了数据帧的格式  然后写个一个解析数据帧的解析器 ```c typedef enum { WAITING_HEADER, HEADER_FOUND, STATUS, DISTANCE_1, DISTANCE_2 } ParserState; // 数据帧解析器结构体 typedef struct { ParserState state; unsigned char target_status; unsigned short distance; } DataFrameParser; // 初始化解析器 void init_parser(DataFrameParser *parser) { parser->state = WAITING_HEADER; parser->target_status = 0; parser->distance = 0; } // 解析单个字节 void parse_byte(DataFrameParser *parser, unsigned char byte) { // 雷达数据格式 // 帧头(2) 目标信息(1) 距离信息(2) 帧尾(2) // AA AA 01 2F 00 55 55 switch (parser->state) { case WAITING_HEADER: if (byte == 0xAA) { parser->state = HEADER_FOUND; } break; case HEADER_FOUND: if (byte == 0xAA) { parser->state = STATUS; } else { parser->state = WAITING_HEADER; } break; case STATUS: if (byte == 0x00 || byte == 0x01 || byte == 0x02) { parser->target_status = byte; parser->state = DISTANCE_1; } else { parser->state = WAITING_HEADER; } break; case DISTANCE_1: parser->distance = byte; parser->state = DISTANCE_2; break; case DISTANCE_2: parser->distance |= (byte << 8); parser->state = WAITING_HEADER; // printf("目标状态: %d\n", parser->target_status); // printf("距离信息: %d\n", parser->distance); break; } } unsigned get_distance(DataFrameParser *parser) { return parser->distance; } ``` 然后就是其他应用代码 ```c void red_on() { bflb_gpio_set(gpio, RED_LIGHT_PIN); } void red_off() { bflb_gpio_reset(gpio, RED_LIGHT_PIN); } void green_on() { bflb_gpio_set(gpio, GREED_LIGHT_PIN); } void green_off() { bflb_gpio_reset(gpio, GREED_LIGHT_PIN); } int main(void) { DataFrameParser parser; init_parser(&parser); board_init(); gpio = bflb_device_get_by_name("gpio"); uart1 = bflb_device_get_by_name("uart1"); bflb_gpio_init(gpio, RED_LIGHT_PIN, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0); bflb_gpio_init(gpio, GREED_LIGHT_PIN, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0); bflb_gpio_set(gpio, RED_LIGHT_PIN); bflb_gpio_set(gpio, GREED_LIGHT_PIN); bflb_gpio_uart_init(gpio, GPIO_PIN_31, GPIO_UART_FUNC_UART1_TX); bflb_gpio_uart_init(gpio, GPIO_PIN_30, GPIO_UART_FUNC_UART1_RX); struct bflb_uart_config_s cfg2 = { .baudrate = 256000, .data_bits = UART_DATA_BITS_8, .stop_bits = UART_STOP_BITS_1, .parity = UART_PARITY_NONE, .flow_ctrl = 0, .tx_fifo_threshold = 7, .rx_fifo_threshold = 7, }; bflb_uart_init(uart1, &cfg2); int ch = -1; int len = 0; while (1) { // printf("test Messages"); if (bflb_uart_rxavailable(uart1)) { ch = bflb_uart_getchar(uart1); parse_byte(&parser, ch); len = get_distance(&parser); printf("距离信息: %d\n", len); } //设置的为大于50厘米为绿灯,小于50是红灯 if (len < 50 && len != 0) { green_off(); red_on(); } else { green_on(); red_off(); } } } ``` ## 效果  大于50厘米  小于50厘米  # 结束
点赞
0
收藏
0
淘帖
0
────
0
人觉得很赞
────
回复
使用道具
举报
12 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
lazy
回复
使用道具
举报
2024-3-23 20:25:58
赞
回复
评论
使用道具
举报
板凳
lza
回复
使用道具
举报
2024-3-23 21:31:08
同款鼠标垫
回复
评论
使用道具
举报
地板
WT_0213
回复
使用道具
举报
2024-3-23 21:45:05
不错
回复
评论
使用道具
举报
5
#
Melo
回复
使用道具
举报
2024-3-23 21:47:09
!!!
回复
评论
使用道具
举报
6
#
Melo
回复
使用道具
举报
2024-3-23 21:48:26
向大佬学习了!!!
回复
1
评论
使用道具
举报
7
#
1055173307
回复
使用道具
举报
2024-3-24 10:34:53
学习
回复
评论
使用道具
举报
8
#
1084504793
回复
使用道具
举报
2024-3-24 11:39:24
赞
回复
评论
使用道具
举报
9
#
lovzx
回复
使用道具
举报
2024-3-24 19:24:04
学习
回复
评论
使用道具
举报
10
#
sansui
回复
使用道具
举报
2024-3-27 11:19:01
赞一下
回复
评论
使用道具
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
下一页 »
1
2
/ 2 页
下一页
今日推荐
MQTT 入门与实战:从协议原理到两块 WB2 对联
九章验证板——智能家居项目
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
🔌手把手!1T1R 毫米波测距演示怎么跑?接入与 Python 环境配置
ONELAB开发套件常见问题Q&A:距离、角度、速度、距离门设置
【九章MCP验证板】开发环境配置教程
AI-WV02-32S 铁板烧焊接翻车
不用写代码,先跑通这两个开源例程,感受毫米波能做什么
【体验】Ai-WV02-32S 这不就跑起来了么
热帖排行
Ai-WB2 BLE HID 三合一复合设备
不敢想象,这个项目的模块达到50+的时候,就不用啃芯片手册了
从零理解 HTTP · TCP · TLS:用 WB2 芯片访问心知天气
MQTT 入门与实战:从协议原理到两块 WB2 对联
九章验证板——智能家居项目
VC01的模块,在语音平台设置了串口功能,但是没起作用
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
统计信息
会员数: 31202 个
话题数: 42284 篇
首页
分类
我的