- 博客(19)
- 收藏
- 关注
原创 stm32 按键消抖 切换题目
/ 通过取余使mode在0, 1, 2之间循环。if(key_down==1) // 按键1被按,mode加一。if(key_down==3) // 按键2被按,确定a值。// mode为0时,什么也不做。
2025-06-01 18:38:29
264
原创 K230 串口通信
response = f"UART2 已接收二进制数据: {hex_data} (长度: {len(data)} 字节)\n"response = f"UART2 已接收: {decoded_data} (长度: {len(data)} 字节)\n"print("解码数据:", decoded_data)print("十六进制数据:", hex_data)print("发送任何数据到UART2,将会回显相同内容")print("UART2 初始化完成,等待数据...")print("已发送回显")
2025-06-01 13:29:11
557
原创 K230 训练数据集 拍照保存
Display.draw_string(100, 100, "拍照成功!", color=(255, 0, 0), scale=3)Display.draw_string(100, 100, "拍照失败!", color=(255, 0, 0), scale=3)print(f"照片已保存: {filename}")time.sleep_ms(1000) # 显示1秒。print(f"拍照失败: {e}")time.sleep_ms(10) # 降低CPU占用。print(f"系统异常: {e}")
2025-06-01 13:19:19
647
1
原创 K230 23电赛E题 矩形检测
print(f"角点{i}: ({corner[0]}, {corner[1]})")print(f"矩形{count}: {rect}") # 打印矩形信息。print("帧率: {:.1f}fps".format(fps.fps()))os.exitpoint(os.EXITPOINT_ENABLE) # 初始化退出点检测。print("------矩形统计开始------")# 绘制角点 (红色小圆圈)fps.tick() # 更新帧率计时。print(f"异常: {e}")
2025-06-01 13:12:40
1859
原创 K230 颜色识别
print("色块中心: X={}, Y={}".format(blob[5], blob[6]))# 颜色阈值 [min_L, max_L, min_A, max_A, min_B, max_B]print("帧率: {:.1f}fps".format(fps.fps()))os.exitpoint(os.EXITPOINT_ENABLE) # 初始化退出点检测。# 绘制矩形框 (x, y, w, h)# 在中心点绘制十字 (cx, cy)os.exitpoint() # 检查退出信号。
2025-06-01 13:11:12
341
原创 STM32 串口重定向
* 定义 _sys_exit() 以避免使用半主机模式 *//* 不同芯片的串口标志位不一定相同!/* 告知连接器不从C库链接使用半主机的函数 *///printf重定向代码,修改其底层fputc。/* 串口发送完成,将该字符发送 *//* 堵塞判断串口是否发送完成 *//* 标准库需要的支持类型 */
2025-06-01 13:03:27
211
原创 FPGA 串口发送
else if(uart_tx_busy) begin //处于发送过程时tx_cnt才进行计数。if(baud_cnt == BAUD_CNT_MAX - 1'b1) //当波特率计数器计数到一个波特率周期时。input [7:0] uart_tx_data, //UART要发送的数据。input uart_tx_en , //UART的发送使能。
2025-06-01 13:00:07
344
原创 FPGA 串口接收
if(baud_cnt == BAUD_CNT_MAX/2 - 1'b1) begin //判断baud_cnt是否计数到数据位的中间。if(baud_cnt == BAUD_CNT_MAX - 1'b1) //当波特率计数器计数到一个波特率周期时。
2025-06-01 12:59:25
1352
原创 FPGA 步进电机控制
/ 步进间隔参数(以50MHz时钟为例,STEP_DELAY = (50e6 / steps_per_second) - 1)output reg [3:0] coil // 控制信号:[A_IN1, A_IN2, B_IN1, B_IN2]// 100步/秒(10ms/步)// 正转:0→1→2→3→0。// 反转:0→3→2→1→0。// input direction, // 方向控制:1=正转,0=反转。// 状态寄存器(0~3)input reset, // 复位信号。
2025-06-01 12:58:20
456
原创 FPGA 输出方波
if (counter == (N/2) - 1) begin // 计数到N/2-1时。parameter N = 4 // 分频系数(必须为偶数)counter <= 0;// 复位时计数器清零。// 输出初始为低电平。
2025-06-01 12:55:53
195
原创 FPGA 按键消抖
input clk,input key,reg key_d0;reg key_d1;if(!endelse beginendendif(!rst_n)cnt<=30'd0;else beginif(key_d0!=key_d1)else beginelsecnt<=30'd0;endendendif(!rst_n)elseendendmodule。
2025-06-01 12:53:34
138
原创 PID 算法
else if(pid->pid_mode == POSITION_PID) // 位置式。if(pid->pid_mode == DELTA_PID) // 增量式。// 记录前两次偏差。
2025-05-29 13:17:17
218
原创 MSPM0G3507 JY61P 读取Yaw
if (RxData == 0x53) /*判断数据内容,修改这里可以改变要读的数据内容,0x53为角度输出*//*接收状态标志位*/if(sum == RxBuffer[10]) //校验成功。/*计算数据,根据数据内容选择对应的计算公式*//*接收数据数组*/if (RxData == 0x55) //收到包头。else if (RxState == 2) //接收数据。if(RxIndex == 11) //接收完成。if (RxState == 0) //等待包头。
2025-05-28 15:55:55
430
原创 2021 送药小车 K230 数字识别部分
print(f"标签 {reference_label} 在右侧(adj_x1={adj_x1}), 发送0xB2")print(f"标签 {reference_label} 在左侧(adj_x1={adj_x1}), 发送0xB3")reference_label = current_label # 初始化为第一个标签。uart.write(bytes([0xB2])) # 发送右转指令。uart.write(bytes([0xB3])) # 发送左转指令。# 使用json读取内容初始化部署变量。
2025-05-28 13:17:36
1838
1
原创 K230 7路巡线
raise ValueError("未知的 DISPLAY_MODE,请选择 'VIRT', 'LCD' 或 'HDMI'")# 设置通道0的输出像素格式为RGB565,要注意有些案例只支持GRAYSCALE格式。# 这里可以插入各种图像处理逻辑,例如二值化、直方图均衡化、滤波等。# 显示模式选择:可以是 "VIRT"、"LCD" 或 "HDMI"#--------开始--------#--------结束--------# 在屏幕右上角显示处理后的图像。# 在屏幕左上角显示原始图像。
2025-05-28 12:59:36
1689
原创 2021电赛F题之openmv巡线
img = sensor.snapshot() # 移除镜头校正测试帧率。# 绘制ROI区域(调试时使用)# 颜色阈值(根据实际校准调整)# 均匀分布的ROI。
2025-05-27 17:52:36
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人