资源简介
stm32 modbus主机程序,非常经典,适合初学者使用,方便移植工业控制

代码片段和文件信息
/******************** (C) COPYRIGHT 2010 HY嵌入式开发工作室 ********************
* Description : 演示 USART1 当接收缓冲器满时,将接收到的数据传送出去
V6-LED1闪烁表示正在收发数据。
定义:
TXD1----- PA9-US1-TX
RXD1----- PA10-US1-RX
速率:默认115200n81
*********************************************************************/
/* Includes ------------------------------------------------------------------*/
#include “stm32f10x.h“
#include “stm32f10x_usart.h“
#include “misc.h“
#include “modbus.h“
#include “Device_Init.h“
/** @addtogroup StdPeriph_Examples
* @{
*/
/** @addtogroup USART_Interrupt
* @{
*/
/* Private typedef -----------------------------------------------------------*/
typedef enum { FAILED = 0 PASSED = !FAILED} TestStatus;
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
#define countof(a) (sizeof(a) / sizeof(*(a)))
/* Private variables ---------------------------------------------------------*/
vu32 TIM4_Period; //定时器周期 RTU模式3.5周期用
/* Private function prototypes -----------------------------------------------*/
void Delay(__IO uint32_t nCount);
void delay_1ms(u16 num);
TestStatus Buffercmp(uint8_t* pBuffer1 uint8_t* pBuffer2 uint16_t BufferLength);
/* Private functions ---------------------------------------------------------*/
/**
* @brief Main program
* @param None
* @retval : None
*/
int main(void)
{
delay_1ms(1000);
/* System Clocks Configuration */
RCC_Configuration();
/* NVIC configuration include Usart1 AND TIM4 */
NVIC_Configuration();
/* Configure the GPIO ports */
GPIO_Configuration();
led2_on;
led3_on;
//configuration USART1
USART_Configuration(USART19600);
delay_1ms(500);
// Modbus_Function_3(1010010)
while (1)
{
if(!GPIO_ReadInputDataBit( GPIODGPIO_Pin_1))
{
delay_1ms(1500);
if(!GPIO_ReadInputDataBit( GPIODGPIO_Pin_1))
{
Modbus_Function_3(1010004);
}
}
Com0_Communication();
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
void delay_1ms(u16 num)
{
for(;num>=1;num--)
Delay(7200);
}
/**
* @brief Compares two buffers.
* @param pBuffer1 pBuffer2: buffers to be compared.
* @param BufferLength: buffer‘s length
* @retval : PASSED: pBuffer1 identical to pBuffer2
* FAILED: pBuffer1 differs from pBuffer2
*/
TestStatus Buffercmp(uint8_t* pBuffer1 uint8_t* pBuffer2 uint16_t BufferLength)
{
while(BufferLength--)
{
if(*pBuffer1 != *pBuffer2)
{
return FAILED;
}
pBuffer1++;
pBuffer2++;
}
return PASSED;
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @par
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4951 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\misc.h
文件 19585 2009-08-31 15:06 STM32_modbus_master_成功\FWlib\inc\stm32f10x_adc.h
文件 7373 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_bkp.h
文件 14289 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_can.h
文件 3213 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_conf.h
文件 1980 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_crc.h
文件 10271 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_dac.h
文件 2980 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_dbgmcu.h
文件 18790 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_dma.h
文件 5833 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_exti.h
文件 14446 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_flash.h
文件 17276 2009-09-01 10:57 STM32_modbus_master_成功\FWlib\inc\stm32f10x_fsmc.h
文件 15221 2009-09-04 15:44 STM32_modbus_master_成功\FWlib\inc\stm32f10x_gpio.h
文件 16923 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_i2c.h
文件 3677 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_iwdg.h
文件 4201 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_pwr.h
文件 16258 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_rcc.h
文件 3659 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_rtc.h
文件 18598 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_sdio.h
文件 14896 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_spi.h
文件 48768 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_tim.h
文件 14483 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_usart.h
文件 2785 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\inc\stm32f10x_wwdg.h
文件 6874 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\misc.c
文件 46634 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\stm32f10x_adc.c
文件 8248 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\stm32f10x_bkp.c
文件 30960 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\stm32f10x_can.c
文件 3340 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\stm32f10x_crc.c
文件 13723 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\stm32f10x_dac.c
文件 4310 2009-04-06 10:30 STM32_modbus_master_成功\FWlib\SRC\stm32f10x_dbgmcu.c
............此处省略109个文件信息
- 上一篇:ColourfulFX4.2.2
- 下一篇:WINCE汉化包,中文补丁
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- STC8951系列单片机中方指南
- Omron ETN21模块进行modbustcp通讯
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- modbus通讯协议详解
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- STM32基于rt_thread操作系统的SDHC卡文件
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
评论
共有 条评论