资源简介

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个文件信息

评论

共有 条评论