资源简介
基于STM32F103单片机开发,采用RS485总线的MODBUSRTU通讯例程,接受和发送使能控制。带CRC校验计算函数。纯原创。
代码片段和文件信息
/******************** (C) COPYRIGHT 2010 HY嵌入式开发工作室 ********************
* Description : 演示 USART1 当接收缓冲器满时,将接收到的数据传送出去
V6-LED1闪烁表示正在收发数据。
*********************************************************************/
/* Includes ------------------------------------------------------------------*/
#include “stm32f10x.h“
#include “stm32f10x_usart.h“
#include “misc.h“
#include “modbus.h“
#include “Device_Init.h“
typedef enum { FAILED = 0 PASSED = !FAILED} TestStatus;
#define countof(a) (sizeof(a) / sizeof(*(a)))
vu32 TIM4_Period; //定时器周期 RTU模式3.5周期用
void Delay(__IO uint32_t nCount);
void delay_1ms(u16 num);
TestStatus Buffercmp(uint8_t* pBuffer1 uint8_t* pBuffer2 uint16_t BufferLength);
int main(void)
{
delay_1ms(10);
RCC_Configuration();
NVIC_Configuration();
GPIO_Configuration();
USART_Configuration(USART19600);
while (1)
{
delay_1ms(500);
Modbus_Function_3(10001);
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的长度
* @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
* @param line: assert_param error line source number
* @retval : None
*/
void assert_failed(uint8_t* file uint32_t line)
{
/* User can add his own implementation to report the file name and line number
ex: printf(“Wrong parameters value: file %s on line %d\r\n“ file line) */
/* Infinite loop */
while (1)
{
}
}
#endif
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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个文件信息
- 上一篇:ply格式三维点云模型
- 下一篇:850 nm附近具有平坦色散的光子晶体光纤设计
相关资源
- VirtualTreeview 最新版支持 XE10.3
- 基于STM32F4x9的LCD显示
- VS1053B编解码器的VDR分布式声音采集卡
- Quartus II 15.0中仿真DDR2 IP核
- teleportultra_22658.zip
- stm32f103.SchDoc
- STM32F103 USART+DMA
- stm32f105-usart-DMA收发demo
- STM32F042F6P6 Uart12DMA;发送中断接收
- 虚拟摄像头VCam开发SDK
- 整理的ModbusProtocol SDK开发包
- 基于STM32F103C8单片机的晶联讯电子JL
- stm32F4+w5300
- delphi编写的modbus测试源码
- modbus通讯,用DELPHI编写
- STM32F103实现OV7670摄像头显示
- STM32F207学习板例程
- Multiplicity of Solutions of Weighted (pq)
- STM32F103VCT6TR - High-density performance lin
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F030从机中断接收的iic代码,附带
- FreeModbus_Slave+STM32F407+USART2代码亲测可
- STM32F103启动文件HD;MD
- STM32F407 串口配置 串口1~6 六串口同时
- STM32F407_6个串口同时使用的代码
- STM32 自带内部FLASH 读写
- STM32F407实时时钟_DS1302实时时钟模块和
- 基于STM32F103的实时时钟程序,采用D
- STM32F072xx数据手册
评论
共有 条评论