不许不嘻嘻
26-03-17 03:39

光电开关:中断处理
硬件消抖:在传感器信号线和GND之间并联一个0.1uF的电容,可以滤除高频干扰。
软件消抖:在中断服务程序(ISR)中,不要直接处理复杂逻辑。正确的做法是:检测到中断后,设置一个全局标志位(如 item_arrived_flag = 1),然后立即退出。在主循环中轮询这个标志位,再进行扫码、称重等耗时操作。这样可以避免中断函数执行时间过长,影响系统稳定性。
扫码/RFID模块:UART通信
在确认有物品到达后,STM32通过UART向扫码模块发送“触发读取”的指令(具体指令需查阅模块手册)。
模块读取成功后,会通过UART返回一串数据。STM32可以在UART接收中断中将数据存入缓冲区,或者在主循环中轮询接收。
OLED显示:I2C驱动
OLED屏幕通常有成熟的库函数。你需要将待显示的条码信息(如字符串)和重量值(需先将HX711的AD值换算为克)格式化成一个字符串。
调用 OLED_ShowString() 之类的函数,将信息显示在屏幕上。记得在显示新内容前清屏或刷新指定区域。

发布于 山西