资源简介
实测连接西门子的组态屏运行正常,实现对portserial.c porttimer.c portevent.c文件修改
代码片段和文件信息
/**
* @file modbus_user.c
* @brief modbus寄存器读写处理.
* @details 读写缓冲区的寄存器,如果写并把数据保存在配置文件.
* @author kun
* @date 2018-04-12
* @version A001
* @par Copyright (c):
* 佛山畅联智能科技公司
* QQ:448091454
* @par History:
* version: kun 2018-04-12 建立\n
*/
#include “usart.h“
#include “stm32f4xx_hal.h“
#include “mb.h“
#include “modbus_user.h“
#include “modbus_struction.h“
//#include “master_config.h“
#include “slave_poll.h“
#include “freertos_user_config.h“
#include “freertosinclude.h“
#include “user_mb_app.h“
#include “dbg.h“
#include “debug.h“
#include “master_config.h“
#include “macro_def.h“
#include “daemon.h“
#include “master_config.h“
#include “record.h“
#include “slave_cmd.h“
#include “mid_fs.h“
#include “master_config.h“
#include “extio.h“
#include “log_file.h“
#include
#undef MODBUS_USER_DEBUG
#ifdef MODBUS_USER_DEBUG
#define modbus_user_log(...) do{if(DEBUG(DEBUG_PROTOCAL)){DBG_LOG(“[MODBUS USER](%ld) “__LINE__);DBG_LOG(__VA_ARGS__);}}while(0)
#define modbus_user_usr(...) do{if(DEBUG(DEBUG_PROTOCAL)){DBG_LOG(“[MODBUS USER] “);DBG_USR(__VA_ARGS__);}}while(0)
#define modbus_user_err(...) do{if(DEBUG(DEBUG_PROTOCAL)){DBG_LOG(“[MODBUS USER] “);DBG_ERR(__VA_ARGS__);}}while(0)
#define modbus_user_dump(...) if(DEBUG(DEBUG_PROTOCAL)){DBG_DUMP(__VA_ARGS__);}
#else
#define modbus_user_log(...)
#define modbus_user_usr(...)
#define modbus_user_err(...)
#define modbus_user_dump(...)
#endif
MODBUS_USER_T modbus_user;
extern UART_HandleTypeDef huart3;
TIM_HandleTypeDef htim6;
/**
* modbus串行初始化.
* 初始化端口,波特率,校验位.
* @param[in] 无
* @param[out] 无.
* @retval 无
* @par 标识符
* 保留
* @par 其它
* 无
* @par 修改日志
* kun于2018-04-12创建
*/
void modubs_user_usart_init(void){
GPIO_InitTypeDef GPIO_InitStruct;
__HAL_RCC_USART3_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/**USART3 GPIO Configuration
PB10 ------> USART3_TX
PB11 ------> USART3_RX
*/
GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
HAL_GPIO_Init(GPIOB &GPIO_InitStruct);
huart3.Instance = USART3;
huart3.Init.BaudRate = 19200;
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart3) != HAL_OK)
{
_Error_Handler(__FILE__ __LINE__);
}
HAL_NVIC_SetPriority(USART3_IRQn 5 0);
HAL_NVIC_EnableIRQ(USART3_IRQn);
}
/**
* modbus定时器初始化.
* 由定时器检测modbus一帧数据的结束.
* @param[in] 无
* @param[out] 无.
* @retval 无
* @par 标识符
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 15202 2017-04-11 11:06 FreeModbus\modbus\ascii\mbascii.c
文件 2407 2017-04-11 11:06 FreeModbus\modbus\ascii\mbascii.h
文件 9616 2017-04-11 11:06 FreeModbus\modbus\functions\mbfunccoils.c
文件 14133 2017-04-11 11:06 FreeModbus\modbus\functions\mbfunccoils_m.c
文件 1633 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncdiag.c
文件 4489 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncdisc.c
文件 6273 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncdisc_m.c
文件 11894 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncholding.c
文件 18056 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncholding_m.c
文件 4716 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncinput.c
文件 5900 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncinput_m.c
文件 3446 2017-04-11 11:06 FreeModbus\modbus\functions\mbfuncother.c
文件 4970 2017-04-11 11:06 FreeModbus\modbus\functions\mbutils.c
文件 19297 2017-04-11 11:06 FreeModbus\modbus\include\mb.h
文件 6084 2017-04-11 11:06 FreeModbus\modbus\include\mbconfig.h
文件 3701 2017-04-11 11:06 FreeModbus\modbus\include\mbfr
文件 3033 2017-04-11 11:06 FreeModbus\modbus\include\mbfunc.h
文件 7913 2017-04-11 11:06 FreeModbus\modbus\include\mbport.h
文件 3594 2017-04-11 11:06 FreeModbus\modbus\include\mbproto.h
文件 4110 2017-04-11 11:06 FreeModbus\modbus\include\mbutils.h
文件 18408 2017-04-11 11:06 FreeModbus\modbus\include\mb_m.h
文件 12380 2017-04-11 11:06 FreeModbus\modbus\mb.c
文件 12506 2017-04-11 11:06 FreeModbus\modbus\mb_m.c
文件 5432 2017-04-11 11:06 FreeModbus\modbus\rtu\mbcrc.c
文件 1753 2018-05-07 10:35 FreeModbus\modbus\rtu\mbcrc.h
文件 11302 2017-04-11 11:06 FreeModbus\modbus\rtu\mbrtu.c
文件 2965 2017-04-11 11:06 FreeModbus\modbus\rtu\mbrtu.h
文件 14663 2017-04-11 11:06 FreeModbus\modbus\rtu\mbrtu_m.c
文件 5560 2017-04-11 11:06 FreeModbus\modbus\tcp\mbtcp.c
文件 2322 2017-04-11 11:06 FreeModbus\modbus\tcp\mbtcp.h
............此处省略33个文件信息
- 上一篇:硬盘卷序列号修改工具
- 下一篇:Winsock编程接口实验源码
相关资源
- S32K144使用printf格式化输出
- 整理的ModbusProtocol SDK开发包
- delphi编写的modbus测试源码
- modbus通讯,用DELPHI编写
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- ESP32蓝牙架构官方
- 人民电器电表modbus rtu通信协议解析
- ModBus-RTU协议C封装
- 51单片机编写的标准modbus协议通信模版
- STM32F103移植FreeModbus实现modbus主机.zi
- 台达PLC44个程序
- Modbus—TCP协议
- STM32L476 FreeRTOS系统移植项目
- 单片机modbus例程解析
- RS485串口调试工具
- MODBUS--ASCii实现的主要代码
- QJ71MT91.pdf
- modbus模拟器.rar
- stm32 modbus 协议程序
- 完整的STM32F407_MODBUS通信工程代码。
- MSP430F5529移植modbus
- 台达A2伺服MODBUS通讯调试工具
- stm32实现modbus主机从机功能通信
- 安卓组态软件MODBUS.rar
- 总结——调试STM32F103ZET6外围传感器
- modscan32 破解版解压即可用
- 中英两版FreeRTOS_Reference_Manual_V10.0.0.
- STM32 MODBUS_RTU从站程序,KEIL编写
- ModbusTools_破解版
- FreeModbus_For_STM32_USART1_RS485移植分享
评论
共有 条评论