本项目包含STM32L151微控制器的硬件驱动程序以及实现HART通信协议的源代码,适用于工业自动化领域中低功耗、高性能的需求场景。
在菜单中的参数项需要读出和修改:P1中的L、H、E、dr、P;P2中的Ed、SF、bo,一共7个参数项。这些参数的具体操作命令如下:
- 0#命令用于读取标识码。
- 3#命令用来获取主变量电流(测量值)。
- 6#命令用以设置选择地址(确定工作模式)。
- 15#命令可以用来读取主变量输出信息(上下限值)。
- 40#命令是进入或退出电流模式的指令。
- 41#命令用于执行设备自检操作。
- 42#命令则用于执行设备复位。
地址定义如下:
// #define adr0 0x02
// #define adr1 0x23
// #define adr2 0x34
// #define adr3 0x45
前导符的个数为 MAX_0xff,版本号设置为 HART_VER。
静态变量定义如下:
static unsigned char fHART_LONG_ADR = 0; // 值为0表示短地址;值为1表示长地址。
static unsigned char cnt_0xff = MAX_0xff;
外部声明的变量包括主机发送0XFF的数量和工作模式标志位。
函数 HART_Get_FF 的实现如下:
unsigned char HART_Get_FF(unsigned char *p) {
memset(p, 0xff, cnt_0xff);
return cnt_0xff;
}