作者:狼道自求存
二、 实现功能1.使用rc522射频模块,通过卡片接触,实现卡片ID读取、写入;2.根据读取到的卡片ID,辨别身份,判断是否启动步进电机模块,开启、闭合门闸;3.OLED模块提供状态信息显示,LED指示灯代表特定状态。
三、 硬件框架
OLED管脚:
SDA:pc2----17
RC522管脚:
SCK_PIN:PA5--30
MOSI_PIN:PA6-31
MISO_PIN:PA7-32
RST_PIN:PB1--36
LED管脚:
LED2_PIN:PB4----90
LED3_PIN:PA8----67
ULN2003管脚:
motor_b_pin:PB13--52
motor_c_pin:PB14--53
motor_d_pin:PB15--54
四、 软件框架
由上面示意图可知,本次项目中,主函数中开辟了四个线程,线程间也可通信。其中led_thread用来提示设备当前运行的状态;oled_thread线程用来显示设备执行的反馈信息;motor_thread线程负责时刻监听rc522模块认证后的返回结果,如果认证成功,则正转电机,几秒后再反转电机(门闸上锁),如果认证失败,电机静默状态;rc522_thread线程循环执行监测设备上的有效卡片,流程:寻卡,防冲突,选卡,认证,读/写卡。如认证读卡成功则将结果反馈给oled_thread线程,并驱动电机模块做相应动作。
五、 作品展示
代码仓库MyN32G457_Project
六、总结体会感谢此次大赛的举办方,感谢论坛交流平台。RT-Thread作为国产自主研发操作系统,本人是非常看好的,由于不是经常使用RT-Thread Studio开发工具,配置起来不是很熟练,使用IDE在线安装的组件,提供者并无相关注释,引用起来不是很顺利。国民技术的资料包很丰富,工程示例有支持MDK平台的,也有RT-Thread的,但工程中没有备注MCU是基于哪种封装的,起初不知道原工程是基于64pin的封装,一直调试不通,后来经微信群坛友说明,才发现这坑。另一个是N32G457VEL7开发板烧录时不时会提示下载超时,必须重新插拔才能再次烧录。国民技术在国产芯片领域也属佼佼者,本人非常支持国民技术方案,移植起来简便,希望能够迎来更强大,更具竞争力的MCU在国民技术诞生,挑起国之重任。