zoukankan      html  css  js  c++  java
  • FreeModbus for stm32(Keil工程)——精简Modbus slave协议【worlsing笔记】

    FreeModbus For stm32:点击下载源码

    1、测试环境Keil MDK 4.7a  stm32f103c8, PB12为输出线圈,
       可以通过Modbus Poll来控制线圈的输出状态。

    2、通过ModbusProt.h配置硬件、数据缓冲区大小和功能码配置

    3、移植要点为Port.c和Port.h

       定时器操作在stm32平台下基本不用改
       a、定时器初始化;   xMBPortTimersInit()
       b、开定时器及中断; vMBPortTimersEnable()
       c、关定时器及中断; vMBPortTimersDisable()
       d、定时器溢出中断服务程序;TIME_IQR_HANDLER()
       串口操作:
       a、串初始化;   xMBPortSerialInit()
       b、串口发送中断、接收中断; UART_IQR_HANDLER()
       c、串口收发控制; vMBPortSerialEnable()
       开关量操作 CPU硬件寄存器类型指针定义,用于定义IO输入和输出,
       注意在此定义的IO必须初始化为输入或输出。
       typedef volatile uint32_t * CPURegistertype;
        //线圈状态, 存储格式:&IO输出口寄存器, 引脚号
        MBCoilType MBCoils[REG_COILS_SIZE] = {
            &(GPIOB->ODR), 12, //PB12做为输出线圈
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
        };

        //离散开关输入状态, 存储格式:&IO输出口寄存器, 引脚号
        MBDiscreteType MBDiscretes[REG_DISCRETE_SIZE] = {
            &(GPIOB->ODR), 12, //PB12做为离散输入
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
            &(GPIOB->ODR), 12,
        };

    image
             Mail: worldsing@foxmail.com
              QQ: 237539049

  • 相关阅读:
    yii2 gii 命令行自动生成控制器和模型
    控制器中的方法命名规范
    Vue Property or method "" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based
    IDEA插件:GsonFormat
    Spring Boot : Access denied for user ''@'localhost' (using password: NO)
    Typora添加主题
    Git基础命令图解
    Java Joda-Time 处理时间工具类(JDK1.7以上)
    Java日期工具类(基于JDK1.7版本)
    Oracle SQL Developer 连接Oracle出现【 状态: 失败 -测试失败: ORA-01017: invalid username/password; logon denied】
  • 原文地址:https://www.cnblogs.com/worldsing/p/3441704.html
Copyright © 2011-2022 走看看