摘要:
在上一篇文章中,介绍了如何将Modbus的通信参数存储在单片机STM32F103C8T6的flash中,这样可以简化硬件电路设计,功能扩展也更加灵活。但孔丙火(微信公众号:孔丙火)认为,这种方法也有副作用,因为是用通信的方法修改参数,如果用户把上次修改的参数忘记了,岂不是无法建立串口连接了?要么一个一个参数地试,费时费力,要么重新刷单片机的程序,但这需要开发工程师的参与。公众号之前有一篇文章,是讲PLC的上电停止功能的,这里可以做一个借鉴,来解决这个问题。大体的意思,就是为用户保留一个数据命令,当单片机上电的时候,收到这个命令,就采用默认的通信参数运行,这时用户是可以通过串口连接单片机的,然后再把通信参数改成自己需要的就可以了。 阅读全文
摘要:
作为从站,Modbus-RTU通信的参数主要包括从站地址和串口参数,串口参数又包括波特率、校验位、停止位等,把这些参数存储在单片机的flash里,孔丙火(微信公众号:孔丙火)认为,可以简化电路设计,应用更加灵活。介绍了STM32F103C8T6的flash的组织结构,进一步分析了通信参数在flash中的存储位置,阐述了基于HAL库写flash的方法和通信参数修改的基本流程。代码经过实践,可以实现将通信参数存在flash中,并可以通过Modbus命令修改通信参数。 阅读全文