资源简介
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汉化包,中文补丁
相关资源
- 基于stm32库3.5的小车红外避障程序
- STM32驱动OV7620摄像头
- “流速”可控的彩灯控制器
- STM32F407-四路超声波测距代码
- 基于STM32的MLX90614测温显示.rar
- stm32韦根通信协议
- STM32F103C8T6蓝牙点亮LED
- STM32 LCD12864带日历时钟功能的电子密
- STM32光电开关代码
- stm32f103系列1602液晶屏驱动程序
- 基于STM32的proteus仿真——扫地机器人
- STM32F103VET6 PWM之通用定时器输出带死区
- 基于stm32炜盛zh03b的PM2.5、PM1、PM10采集
- 无线充电RX端程序代码
- 基于51单片机的智能窗户设计
- 基于stm32f103c8t6 + 机智云的环境监测
- stm32矩阵按键
- stm32 pwm输出
- stm32蓝牙控制机械臂3个舵机校赛用的
- stm32f407实现串口收发
- 使用STM32控制多个步进电机
- STM32&ESP8266;开发板电路图
- 普中科技51单片机开发板的实验程序资
- STM32PWM智能风扇
- STM32测量甲醛标准库
- STM32二氧化碳传感器MH-Z19代码
- 基于STM32单片机的MQ3 传感器+OLED显示程
- ADS1115的驱动代码,基于STM32F103
- STM32L151_IAP_Bootloader.rar
- 基于51单片机的水箱、水塔水位检测系
评论
共有 条评论