1、【增加】基于RTT自带设备及定时器框架的从机,降低软件的移植难度。

Signed-off-by: armink <armink.ztl@gmail.com>
This commit is contained in:
armink 2014-11-07 16:22:09 +08:00
parent 75cac116ef
commit 8a913c86b5
29 changed files with 5979 additions and 4416 deletions

View File

@ -110,7 +110,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="RT-Thread-1.2.2/components/drivers/usb|RT-Thread-1.2.2/components/drivers/spi|RT-Thread-1.2.2/components/drivers/serial|RT-Thread-1.2.2/components/drivers/sdio|RT-Thread-1.2.2/components/drivers/rtc|RT-Thread-1.2.2/components/drivers/mtd|RT-Thread-1.2.2/components/drivers/i2c|RT-Thread-1.2.2/libcpu/arm/sep4020|RT-Thread-1.2.2/libcpu/arm/s3c44b0|RT-Thread-1.2.2/libcpu/arm/s3c24x0|RT-Thread-1.2.2/libcpu/arm/lpc24xx|RT-Thread-1.2.2/libcpu/arm/lpc214x|RT-Thread-1.2.2/libcpu/arm/cortex-r4|RT-Thread-1.2.2/libcpu/arm/cortex-m4|RT-Thread-1.2.2/libcpu/arm/cortex-m0|RT-Thread-1.2.2/libcpu/arm/common|RT-Thread-1.2.2/libcpu/arm/AT91SAM7X|RT-Thread-1.2.2/libcpu/arm/AT91SAM7S|RT-Thread-1.2.2/libcpu/arm/arm926|RT-Thread-1.2.2/libcpu/arm/am335x|RT-Thread-1.2.2/components/utilities|RT-Thread-1.2.2/components/pthreads|RT-Thread-1.2.2/components/libdl|RT-Thread-1.2.2/components/libc|RT-Thread-1.2.2/components/init|RT-Thread-1.2.2/components/finsh|RT-Thread-1.2.2/components/CMSIS|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.2.2/libcpu/xilinx|RT-Thread-1.2.2/libcpu/v850|RT-Thread-1.2.2/libcpu/unicore32|RT-Thread-1.2.2/libcpu/sim|RT-Thread-1.2.2/libcpu/ppc|RT-Thread-1.2.2/libcpu/nios|RT-Thread-1.2.2/libcpu/mips|RT-Thread-1.2.2/libcpu/m16c|RT-Thread-1.2.2/libcpu/ia32|RT-Thread-1.2.2/libcpu/blackfin|RT-Thread-1.2.2/libcpu/avr32|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s|RVMDK|EWARM|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.1.1/libcpu/arm/sep4020|RT-Thread-1.1.1/libcpu/arm/s3c44b0|RT-Thread-1.1.1/libcpu/arm/s3c24x0|RT-Thread-1.1.1/libcpu/arm/lpc24xx|RT-Thread-1.1.1/libcpu/arm/lpc214x|RT-Thread-1.1.1/libcpu/arm/lpc122x|RT-Thread-1.1.1/libcpu/arm/cortex-m4|RT-Thread-1.1.1/libcpu/arm/cortex-m0|RT-Thread-1.1.1/libcpu/arm/common|RT-Thread-1.1.1/libcpu/arm/at91sam926x|RT-Thread-1.1.1/libcpu/arm/AT91SAM7X|RT-Thread-1.1.1/libcpu/arm/AT91SAM7S|RT-Thread-1.1.1/libcpu/xilinx|RT-Thread-1.1.1/libcpu/v850|RT-Thread-1.1.1/libcpu/sim|RT-Thread-1.1.1/libcpu/ppc|RT-Thread-1.1.1/libcpu/nios|RT-Thread-1.1.1/libcpu/mips|RT-Thread-1.1.1/libcpu/m16c|RT-Thread-1.1.1/libcpu/ia32|RT-Thread-1.1.1/libcpu/blackfin|RT-Thread-1.1.1/libcpu/avr32|RT-Thread-1.1.1/components|Libaries/USB-FS-Device_Driver|Libaries/CMSIS_MDK" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="RT-Thread-1.2.2/components/drivers/usb|RT-Thread-1.2.2/components/drivers/spi|RT-Thread-1.2.2/components/drivers/sdio|RT-Thread-1.2.2/components/drivers/rtc|RT-Thread-1.2.2/components/drivers/mtd|RT-Thread-1.2.2/components/drivers/i2c|RT-Thread-1.2.2/libcpu/arm/sep4020|RT-Thread-1.2.2/libcpu/arm/s3c44b0|RT-Thread-1.2.2/libcpu/arm/s3c24x0|RT-Thread-1.2.2/libcpu/arm/lpc24xx|RT-Thread-1.2.2/libcpu/arm/lpc214x|RT-Thread-1.2.2/libcpu/arm/cortex-r4|RT-Thread-1.2.2/libcpu/arm/cortex-m4|RT-Thread-1.2.2/libcpu/arm/cortex-m0|RT-Thread-1.2.2/libcpu/arm/common|RT-Thread-1.2.2/libcpu/arm/AT91SAM7X|RT-Thread-1.2.2/libcpu/arm/AT91SAM7S|RT-Thread-1.2.2/libcpu/arm/arm926|RT-Thread-1.2.2/libcpu/arm/am335x|RT-Thread-1.2.2/components/utilities|RT-Thread-1.2.2/components/pthreads|RT-Thread-1.2.2/components/libdl|RT-Thread-1.2.2/components/libc|RT-Thread-1.2.2/components/init|RT-Thread-1.2.2/components/finsh|RT-Thread-1.2.2/components/CMSIS|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.2.2/libcpu/xilinx|RT-Thread-1.2.2/libcpu/v850|RT-Thread-1.2.2/libcpu/unicore32|RT-Thread-1.2.2/libcpu/sim|RT-Thread-1.2.2/libcpu/ppc|RT-Thread-1.2.2/libcpu/nios|RT-Thread-1.2.2/libcpu/mips|RT-Thread-1.2.2/libcpu/m16c|RT-Thread-1.2.2/libcpu/ia32|RT-Thread-1.2.2/libcpu/blackfin|RT-Thread-1.2.2/libcpu/avr32|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s|RVMDK|EWARM|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.1.1/libcpu/arm/sep4020|RT-Thread-1.1.1/libcpu/arm/s3c44b0|RT-Thread-1.1.1/libcpu/arm/s3c24x0|RT-Thread-1.1.1/libcpu/arm/lpc24xx|RT-Thread-1.1.1/libcpu/arm/lpc214x|RT-Thread-1.1.1/libcpu/arm/lpc122x|RT-Thread-1.1.1/libcpu/arm/cortex-m4|RT-Thread-1.1.1/libcpu/arm/cortex-m0|RT-Thread-1.1.1/libcpu/arm/common|RT-Thread-1.1.1/libcpu/arm/at91sam926x|RT-Thread-1.1.1/libcpu/arm/AT91SAM7X|RT-Thread-1.1.1/libcpu/arm/AT91SAM7S|RT-Thread-1.1.1/libcpu/xilinx|RT-Thread-1.1.1/libcpu/v850|RT-Thread-1.1.1/libcpu/sim|RT-Thread-1.1.1/libcpu/ppc|RT-Thread-1.1.1/libcpu/nios|RT-Thread-1.1.1/libcpu/mips|RT-Thread-1.1.1/libcpu/m16c|RT-Thread-1.1.1/libcpu/ia32|RT-Thread-1.1.1/libcpu/blackfin|RT-Thread-1.1.1/libcpu/avr32|RT-Thread-1.1.1/components|Libaries/USB-FS-Device_Driver|Libaries/CMSIS_MDK" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
@ -175,7 +175,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="RT-Thread-1.2.2/components/drivers/usb|RT-Thread-1.2.2/components/drivers/spi|RT-Thread-1.2.2/components/drivers/serial|RT-Thread-1.2.2/components/drivers/sdio|RT-Thread-1.2.2/components/drivers/rtc|RT-Thread-1.2.2/components/drivers/mtd|RT-Thread-1.2.2/components/drivers/i2c|RT-Thread-1.2.2/libcpu/arm/sep4020|RT-Thread-1.2.2/libcpu/arm/s3c44b0|RT-Thread-1.2.2/libcpu/arm/s3c24x0|RT-Thread-1.2.2/libcpu/arm/lpc24xx|RT-Thread-1.2.2/libcpu/arm/lpc214x|RT-Thread-1.2.2/libcpu/arm/cortex-r4|RT-Thread-1.2.2/libcpu/arm/cortex-m4|RT-Thread-1.2.2/libcpu/arm/cortex-m0|RT-Thread-1.2.2/libcpu/arm/common|RT-Thread-1.2.2/libcpu/arm/AT91SAM7X|RT-Thread-1.2.2/libcpu/arm/AT91SAM7S|RT-Thread-1.2.2/libcpu/arm/arm926|RT-Thread-1.2.2/libcpu/arm/am335x|RT-Thread-1.2.2/components/utilities|RT-Thread-1.2.2/components/pthreads|RT-Thread-1.2.2/components/libdl|RT-Thread-1.2.2/components/libc|RT-Thread-1.2.2/components/init|RT-Thread-1.2.2/components/finsh|RT-Thread-1.2.2/components/CMSIS|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.2.2/libcpu/xilinx|RT-Thread-1.2.2/libcpu/v850|RT-Thread-1.2.2/libcpu/unicore32|RT-Thread-1.2.2/libcpu/sim|RT-Thread-1.2.2/libcpu/ppc|RT-Thread-1.2.2/libcpu/nios|RT-Thread-1.2.2/libcpu/mips|RT-Thread-1.2.2/libcpu/m16c|RT-Thread-1.2.2/libcpu/ia32|RT-Thread-1.2.2/libcpu/blackfin|RT-Thread-1.2.2/libcpu/avr32|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s|RVMDK|EWARM|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.1.1/libcpu/arm/sep4020|RT-Thread-1.1.1/libcpu/arm/s3c44b0|RT-Thread-1.1.1/libcpu/arm/s3c24x0|RT-Thread-1.1.1/libcpu/arm/lpc24xx|RT-Thread-1.1.1/libcpu/arm/lpc214x|RT-Thread-1.1.1/libcpu/arm/lpc122x|RT-Thread-1.1.1/libcpu/arm/cortex-m4|RT-Thread-1.1.1/libcpu/arm/cortex-m0|RT-Thread-1.1.1/libcpu/arm/common|RT-Thread-1.1.1/libcpu/arm/at91sam926x|RT-Thread-1.1.1/libcpu/arm/AT91SAM7X|RT-Thread-1.1.1/libcpu/arm/AT91SAM7S|RT-Thread-1.1.1/libcpu/xilinx|RT-Thread-1.1.1/libcpu/v850|RT-Thread-1.1.1/libcpu/sim|RT-Thread-1.1.1/libcpu/ppc|RT-Thread-1.1.1/libcpu/nios|RT-Thread-1.1.1/libcpu/mips|RT-Thread-1.1.1/libcpu/m16c|RT-Thread-1.1.1/libcpu/ia32|RT-Thread-1.1.1/libcpu/blackfin|RT-Thread-1.1.1/libcpu/avr32|RT-Thread-1.1.1/components|Libaries/USB-FS-Device_Driver|Libaries/CMSIS_MDK" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="RT-Thread-1.2.2/components/drivers/usb|RT-Thread-1.2.2/components/drivers/spi|RT-Thread-1.2.2/components/drivers/sdio|RT-Thread-1.2.2/components/drivers/rtc|RT-Thread-1.2.2/components/drivers/mtd|RT-Thread-1.2.2/components/drivers/i2c|RT-Thread-1.2.2/libcpu/arm/sep4020|RT-Thread-1.2.2/libcpu/arm/s3c44b0|RT-Thread-1.2.2/libcpu/arm/s3c24x0|RT-Thread-1.2.2/libcpu/arm/lpc24xx|RT-Thread-1.2.2/libcpu/arm/lpc214x|RT-Thread-1.2.2/libcpu/arm/cortex-r4|RT-Thread-1.2.2/libcpu/arm/cortex-m4|RT-Thread-1.2.2/libcpu/arm/cortex-m0|RT-Thread-1.2.2/libcpu/arm/common|RT-Thread-1.2.2/libcpu/arm/AT91SAM7X|RT-Thread-1.2.2/libcpu/arm/AT91SAM7S|RT-Thread-1.2.2/libcpu/arm/arm926|RT-Thread-1.2.2/libcpu/arm/am335x|RT-Thread-1.2.2/components/utilities|RT-Thread-1.2.2/components/pthreads|RT-Thread-1.2.2/components/libdl|RT-Thread-1.2.2/components/libc|RT-Thread-1.2.2/components/init|RT-Thread-1.2.2/components/finsh|RT-Thread-1.2.2/components/CMSIS|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.2.2/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.2.2/libcpu/xilinx|RT-Thread-1.2.2/libcpu/v850|RT-Thread-1.2.2/libcpu/unicore32|RT-Thread-1.2.2/libcpu/sim|RT-Thread-1.2.2/libcpu/ppc|RT-Thread-1.2.2/libcpu/nios|RT-Thread-1.2.2/libcpu/mips|RT-Thread-1.2.2/libcpu/m16c|RT-Thread-1.2.2/libcpu/ia32|RT-Thread-1.2.2/libcpu/blackfin|RT-Thread-1.2.2/libcpu/avr32|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_xl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_md_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_ld_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_hd_vl.s|Libaries/CMSIS_EWARM/CM3/DeviceSupport/ST/STM32F10x/startup/iar/startup_stm32f10x_cl.s|RVMDK|EWARM|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_rvds.S|RT-Thread-1.1.1/libcpu/arm/cortex-m3/context_gcc.S|RT-Thread-1.1.1/libcpu/arm/sep4020|RT-Thread-1.1.1/libcpu/arm/s3c44b0|RT-Thread-1.1.1/libcpu/arm/s3c24x0|RT-Thread-1.1.1/libcpu/arm/lpc24xx|RT-Thread-1.1.1/libcpu/arm/lpc214x|RT-Thread-1.1.1/libcpu/arm/lpc122x|RT-Thread-1.1.1/libcpu/arm/cortex-m4|RT-Thread-1.1.1/libcpu/arm/cortex-m0|RT-Thread-1.1.1/libcpu/arm/common|RT-Thread-1.1.1/libcpu/arm/at91sam926x|RT-Thread-1.1.1/libcpu/arm/AT91SAM7X|RT-Thread-1.1.1/libcpu/arm/AT91SAM7S|RT-Thread-1.1.1/libcpu/xilinx|RT-Thread-1.1.1/libcpu/v850|RT-Thread-1.1.1/libcpu/sim|RT-Thread-1.1.1/libcpu/ppc|RT-Thread-1.1.1/libcpu/nios|RT-Thread-1.1.1/libcpu/mips|RT-Thread-1.1.1/libcpu/m16c|RT-Thread-1.1.1/libcpu/ia32|RT-Thread-1.1.1/libcpu/blackfin|RT-Thread-1.1.1/libcpu/avr32|RT-Thread-1.1.1/components|Libaries/USB-FS-Device_Driver|Libaries/CMSIS_MDK" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>

View File

@ -59,7 +59,10 @@
/* SECTION: Device System */
/* Using Device System */
#define RT_USING_DEVICE
//#define RT_USING_UART1
// <bool name="RT_USING_DEVICE_IPC" description="Using device communication" default="true" />
#define RT_USING_DEVICE_IPC
// <bool name="RT_USING_SERIAL" description="Using Serial" default="true" />
#define RT_USING_SERIAL
/* SECTION: Console options */
/* the buffer size of console*/

View File

@ -46,6 +46,10 @@
#define STM32_SRAM_SIZE 20
#define STM32_SRAM_END (0x20000000 + STM32_SRAM_SIZE * 1024)
/* RT_USING_UART */
#define RT_USING_UART3
#define RT_USING_UART1
#define RT_UART_RX_BUFFER_SIZE 64
#define LED_LED1_ON GPIO_SetBits (GPIOA,GPIO_Pin_11) //LED1
#define LED_LED1_OFF GPIO_ResetBits(GPIOA,GPIO_Pin_11) //LED1
@ -94,13 +98,7 @@ void IWDG_Feed(void);
void BSP_Init(void);
void rt_hw_board_init(void);
static void RCC_Configuration(void);
static void NVIC_Configuration(void);
static void GPIO_Configuration(void);
static void USART1_Configuration(void);
static void IWDG_Configuration(void);
void IWDG_Feed(void);
static void SysTick_Configuration(void);
void rt_hw_timer_handler(void);
uint8_t AvoidTimeout(uint32_t TimeOfTimeout,uint32_t Period,uint8_t (*DetectCondition)(),uint8_t ConditionValue);

26
BSP/inc/usart.h Normal file
View File

@ -0,0 +1,26 @@
/*
* File : usart.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2009, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2009-01-05 Bernard the first version
*/
#ifndef __USART_H__
#define __USART_H__
#include <rthw.h>
#include <rtthread.h>
#define UART_ENABLE_IRQ(n) NVIC_EnableIRQ((n))
#define UART_DISABLE_IRQ(n) NVIC_DisableIRQ((n))
void rt_hw_usart_init(void);
#endif

View File

@ -23,6 +23,7 @@
#include <bsp.h>
#include <rthw.h>
#include <rtthread.h>
#include "usart.h"
/*
*********************************************************************************************************
* LOCAL TABLES
@ -46,6 +47,7 @@
void rt_hw_board_init()
{
BSP_Init();
rt_hw_usart_init();
}
/*******************************************************************************

491
BSP/src/usart.c Normal file
View File

@ -0,0 +1,491 @@
/*
* File : usart.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006-2013, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2009-01-05 Bernard the first version
* 2010-03-29 Bernard remove interrupt Tx and DMA Rx mode
* 2013-05-13 aozima update for kehong-lingtai.
*/
#include "stm32f10x.h"
#include "usart.h"
#include "bsp.h"
#include <rtdevice.h>
/* USART1 */
#define UART1_GPIO_TX GPIO_Pin_9
#define UART1_GPIO_RX GPIO_Pin_10
#define UART1_GPIO GPIOA
/* USART1_REMAP */
#define UART1_GPIO_REMAP_TX GPIO_Pin_6
#define UART1_GPIO_REMAP_RX GPIO_Pin_7
#define UART1_GPIO_REMAP GPIOB
/* USART2 */
#define UART2_GPIO_TX GPIO_Pin_2
#define UART2_GPIO_RX GPIO_Pin_3
#define UART2_GPIO GPIOA
/* USART3_REMAP[1:0] = 00 */
#define UART3_GPIO_TX GPIO_Pin_10
#define UART3_GPIO_RX GPIO_Pin_11
#define UART3_GPIO GPIOB
/* STM32 uart driver */
struct stm32_uart
{
USART_TypeDef* uart_device;
IRQn_Type irq;
/* transmit interrupt type */
rt_uint32_t tx_irq_type;
};
static rt_err_t stm32_configure(struct rt_serial_device *serial, struct serial_configure *cfg)
{
struct stm32_uart* uart;
USART_InitTypeDef USART_InitStructure;
RT_ASSERT(serial != RT_NULL);
RT_ASSERT(cfg != RT_NULL);
uart = (struct stm32_uart *)serial->parent.user_data;
USART_InitStructure.USART_BaudRate = cfg->baud_rate;
if (cfg->data_bits == DATA_BITS_8){
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
} else if (cfg->data_bits == DATA_BITS_9) {
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
}
if (cfg->stop_bits == STOP_BITS_1){
USART_InitStructure.USART_StopBits = USART_StopBits_1;
} else if (cfg->stop_bits == STOP_BITS_2){
USART_InitStructure.USART_StopBits = USART_StopBits_2;
}
if (cfg->parity == PARITY_NONE){
USART_InitStructure.USART_Parity = USART_Parity_No;
} else if (cfg->parity == PARITY_ODD) {
USART_InitStructure.USART_Parity = USART_Parity_Odd;
} else if (cfg->parity == PARITY_EVEN) {
USART_InitStructure.USART_Parity = USART_Parity_Even;
}
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(uart->uart_device, &USART_InitStructure);
/* Enable USART */
USART_Cmd(uart->uart_device, ENABLE);
/* enable interrupt */
USART_ITConfig(uart->uart_device, USART_IT_RXNE, ENABLE);
return RT_EOK;
}
static rt_err_t stm32_control(struct rt_serial_device *serial, int cmd, void *arg)
{
struct stm32_uart* uart;
rt_uint32_t *irq_type = (rt_uint32_t *)(arg);
RT_ASSERT(serial != RT_NULL);
uart = (struct stm32_uart *)serial->parent.user_data;
switch (cmd)
{
/* disable interrupt */
case RT_DEVICE_CTRL_CLR_INT:
if ((*irq_type) == RT_DEVICE_FLAG_INT_RX)
{
/* disable rx irq */
USART_ITConfig(uart->uart_device, USART_IT_RXNE, DISABLE);
}
else if ((*irq_type) == RT_DEVICE_FLAG_INT_TX)
{
/* disable tx irq */
USART_ITConfig(uart->uart_device, uart->tx_irq_type, DISABLE);
}
else if (irq_type == RT_NULL)
{
/* disable irq */
UART_DISABLE_IRQ(uart->irq);
}
break;
/* enable interrupt */
case RT_DEVICE_CTRL_SET_INT:
if ((*irq_type) == RT_DEVICE_FLAG_INT_RX)
{
/* enable rx irq */
USART_ITConfig(uart->uart_device, USART_IT_RXNE, ENABLE);
}
else if ((*irq_type) == RT_DEVICE_FLAG_INT_TX)
{
/* enable tx irq */
USART_ITConfig(uart->uart_device, uart->tx_irq_type, ENABLE);
}
else if (irq_type == RT_NULL)
{
/* enable irq */
UART_ENABLE_IRQ(uart->irq);
}
break;
/* get interrupt flag */
case RT_DEVICE_CTRL_GET_INT:
if ((*irq_type) == RT_DEVICE_FLAG_INT_RX)
{
/* return rx irq flag */
(*irq_type) = USART_GetITStatus(uart->uart_device, USART_IT_RXNE);
}
else if ((*irq_type) == RT_DEVICE_FLAG_INT_TX)
{
/* return tx irq flag */
(*irq_type) = USART_GetITStatus(uart->uart_device, uart->tx_irq_type);
}
break;
/* get USART flag */
case RT_DEVICE_CTRL_GET_FLAG:
if ((*irq_type) == RT_DEVICE_FLAG_INT_RX)
{
/* return rx irq flag */
(*irq_type) = USART_GetFlagStatus(uart->uart_device,
USART_FLAG_RXNE);
}
else if ((*irq_type) == RT_DEVICE_FLAG_INT_TX)
{
/* return tx flag */
if (uart->tx_irq_type == USART_IT_TC)
{
(*irq_type) = USART_GetFlagStatus(uart->uart_device,
USART_FLAG_TC);
}
else if (uart->tx_irq_type == USART_IT_TXE)
{
(*irq_type) = USART_GetFlagStatus(uart->uart_device,
USART_FLAG_TXE);
}
}
break;
}
return RT_EOK;
}
static int stm32_putc(struct rt_serial_device *serial, char c)
{
struct stm32_uart* uart;
RT_ASSERT(serial != RT_NULL);
uart = (struct stm32_uart *)serial->parent.user_data;
while (!(uart->uart_device->SR & USART_FLAG_TXE));
uart->uart_device->DR = c;
return 1;
}
static int stm32_getc(struct rt_serial_device *serial)
{
int ch;
struct stm32_uart* uart;
RT_ASSERT(serial != RT_NULL);
uart = (struct stm32_uart *)serial->parent.user_data;
ch = -1;
if (uart->uart_device->SR & USART_FLAG_RXNE)
{
ch = uart->uart_device->DR & 0xff;
}
return ch;
}
static const struct rt_uart_ops stm32_uart_ops =
{
stm32_configure,
stm32_control,
stm32_putc,
stm32_getc,
};
#if defined(RT_USING_UART1) || defined(RT_USING_REMAP_UART1)
/* UART1 device driver structure */
struct stm32_uart uart1 =
{
USART1,
USART1_IRQn,
USART_IT_TC,
};
struct rt_serial_device serial1;
void USART1_IRQHandler(void)
{
struct stm32_uart* uart;
uart = &uart1;
/* enter interrupt */
rt_interrupt_enter();
if(USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET)
{
rt_hw_serial_isr(&serial1, RT_SERIAL_EVENT_RX_IND);
/* clear interrupt */
USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE);
}
if (USART_GetITStatus(uart->uart_device, uart->tx_irq_type) != RESET)
{
/* clear interrupt */
rt_hw_serial_isr(&serial1, RT_SERIAL_EVENT_TX_DONE);
if (uart->tx_irq_type == USART_IT_TC)
{
USART_ClearITPendingBit(uart->uart_device, uart->tx_irq_type);
}
}
if (USART_GetFlagStatus(uart->uart_device, USART_FLAG_ORE) == SET)
{
stm32_getc(&serial1);
}
/* leave interrupt */
rt_interrupt_leave();
}
#endif /* RT_USING_UART1 */
#if defined(RT_USING_UART2)
/* UART1 device driver structure */
struct stm32_uart uart2 =
{
USART2,
USART2_IRQn,
USART_IT_TC,
};
struct rt_serial_device serial2;
void USART2_IRQHandler(void)
{
struct stm32_uart* uart;
uart = &uart2;
/* enter interrupt */
rt_interrupt_enter();
if(USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET)
{
rt_hw_serial_isr(&serial2, RT_SERIAL_EVENT_RX_IND);
/* clear interrupt */
USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE);
}
if (USART_GetITStatus(uart->uart_device, uart->tx_irq_type) != RESET)
{
/* clear interrupt */
if (uart->tx_irq_type == USART_IT_TC)
{
USART_ClearITPendingBit(uart->uart_device, uart->tx_irq_type);
}
}
if (USART_GetFlagStatus(uart->uart_device, USART_FLAG_ORE) == SET)
{
stm32_getc(&serial2);
}
/* leave interrupt */
rt_interrupt_leave();
}
#endif /* RT_USING_UART2 */
#if defined(RT_USING_UART3)
/* UART3 device driver structure */
struct stm32_uart uart3 =
{
USART3,
USART3_IRQn,
USART_IT_TC,
};
struct rt_serial_device serial3;
void USART3_IRQHandler(void)
{
struct stm32_uart* uart;
uart = &uart3;
/* enter interrupt */
rt_interrupt_enter();
if(USART_GetITStatus(uart->uart_device, USART_IT_RXNE) != RESET)
{
rt_hw_serial_isr(&serial3, RT_SERIAL_EVENT_RX_IND);
/* clear interrupt */
USART_ClearITPendingBit(uart->uart_device, USART_IT_RXNE);
}
if (USART_GetITStatus(uart->uart_device, uart->tx_irq_type) != RESET)
{
/* clear interrupt */
if (uart->tx_irq_type == USART_IT_TC)
{
USART_ClearITPendingBit(uart->uart_device, uart->tx_irq_type);
}
}
if (USART_GetFlagStatus(uart->uart_device, USART_FLAG_ORE) == SET)
{
stm32_getc(&serial3);
}
/* leave interrupt */
rt_interrupt_leave();
}
#endif /* RT_USING_UART3 */
static void RCC_Configuration(void)
{
#if defined(RT_USING_UART1)
/* Enable UART GPIO clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* Enable UART clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
#elif defined(RT_USING_REMAP_UART1)
/* Enable UART GPIO clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* Enable UART clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
#endif
#ifdef RT_USING_UART2
/* Enable UART GPIO clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* Enable UART clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
#endif /* RT_USING_UART2 */
#ifdef RT_USING_UART3
/* Enable UART GPIO clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* Enable UART clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
#endif /* RT_USING_UART3 */
}
static void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
#if defined(RT_USING_UART1)
/* Configure USART Rx/tx PIN */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = UART1_GPIO_RX;
GPIO_Init(UART1_GPIO, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = UART1_GPIO_TX;
GPIO_Init(UART1_GPIO, &GPIO_InitStructure);
#elif defined(RT_USING_REMAP_UART1)
/* Configure USART Remap Rx/tx PIN */
GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = UART1_GPIO_REMAP_RX;
GPIO_Init(UART1_GPIO_REMAP, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = UART1_GPIO_REMAP_TX;
GPIO_Init(UART1_GPIO_REMAP, &GPIO_InitStructure);
#endif /* RT_USING_UART1 */
#ifdef RT_USING_UART2
/* Configure USART Rx/tx PIN */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = UART2_GPIO_RX;
GPIO_Init(UART2_GPIO, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = UART2_GPIO_TX;
GPIO_Init(UART2_GPIO, &GPIO_InitStructure);
#endif /* RT_USING_UART2 */
#ifdef RT_USING_UART3
/* Configure USART Rx/tx PIN */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = UART3_GPIO_RX;
GPIO_Init(UART3_GPIO, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = UART3_GPIO_TX;
GPIO_Init(UART3_GPIO, &GPIO_InitStructure);
#endif /* RT_USING_UART3 */
}
static void NVIC_Configuration(struct stm32_uart* uart)
{
NVIC_InitTypeDef NVIC_InitStructure;
/* Enable the USART1 Interrupt */
NVIC_InitStructure.NVIC_IRQChannel = uart->irq;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void rt_hw_usart_init(void)
{
struct stm32_uart* uart;
struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT;
RCC_Configuration();
GPIO_Configuration();
#if defined(RT_USING_UART1) || defined(RT_USING_REMAP_UART1)
uart = &uart1;
config.baud_rate = BAUD_RATE_9600;
serial1.ops = &stm32_uart_ops;
serial1.config = config;
NVIC_Configuration(&uart1);
/* register UART1 device */
rt_hw_serial_register(&serial1, "uart1",
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX ,
uart);
#endif /* RT_USING_UART1 */
#ifdef RT_USING_UART2
uart = &uart2;
config.baud_rate = BAUD_RATE_115200;
serial2.ops = &stm32_uart_ops;
serial2.config = config;
NVIC_Configuration(&uart2);
/* register UART1 device */
rt_hw_serial_register(&serial2, "uart2",
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX,
uart);
#endif /* RT_USING_UART2 */
#ifdef RT_USING_UART3
uart = &uart3;
config.baud_rate = BAUD_RATE_115200;
serial3.ops = &stm32_uart_ops;
serial3.config = config;
NVIC_Configuration(&uart3);
/* register UART1 device */
rt_hw_serial_register(&serial3, "uart3",
RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX,
uart);
#endif /* RT_USING_UART3 */
}

File diff suppressed because it is too large Load Diff

View File

@ -1871,6 +1871,9 @@
<file>
<name>$PROJ_DIR$\..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\BSP\src\usart.c</name>
</file>
</group>
<group>
<name>CMSIS</name>
@ -1904,13 +1907,13 @@
<group>
<name>Port</name>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\portevent_m.c</name>
<name>$PROJ_DIR$\..\FreeModbus\port\rtt\portevent_m.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\portserial_m.c</name>
<name>$PROJ_DIR$\..\FreeModbus\port\rtt\portserial_m.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\porttimer_m.c</name>
<name>$PROJ_DIR$\..\FreeModbus\port\rtt\porttimer_m.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\user_mb_app_m.c</name>
@ -1958,13 +1961,13 @@
<name>$PROJ_DIR$\..\FreeModbus\port\port.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\portevent.c</name>
<name>$PROJ_DIR$\..\FreeModbus\port\rtt\portevent.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\portserial.c</name>
<name>$PROJ_DIR$\..\FreeModbus\port\rtt\portserial.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\porttimer.c</name>
<name>$PROJ_DIR$\..\FreeModbus\port\rtt\porttimer.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\FreeModbus\port\user_mb_app.c</name>
@ -1990,6 +1993,9 @@
<file>
<name>$PROJ_DIR$\..\RT-Thread-1.2.2\components\drivers\src\ringbuffer.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\RT-Thread-1.2.2\components\drivers\serial\serial.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\RT-Thread-1.2.2\components\drivers\src\wrokqueue.c</name>
</file>

View File

@ -39,7 +39,7 @@
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-27820-6871</Identity>
@ -55,7 +55,7 @@
</Tab>
<Tab><Identity>TabID-23458-14555</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
<SelectedTab>0</SelectedTab></Wnd2><Wnd4>
<Tabs>
<Tab>
<Identity>TabID-5800-6874</Identity>
@ -67,20 +67,20 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-15165-9557</Identity><TabName>Live Watch</TabName><Factory>StaticWatch</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<SelectedTab>0</SelectedTab></Wnd4><Wnd5><Tabs><Tab><Identity>TabID-15165-9557</Identity><TabName>Live Watch</TabName><Factory>StaticWatch</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd5></Windows>
<Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\APP\src\app_task.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>30</YPos2><SelStart2>1557</SelStart2><SelEnd2>1557</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\APP\src\app.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>25</SelStart2><SelEnd2>25</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\RT-Thread-1.2.2\src\cpuusage.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>860</SelStart2><SelEnd2>860</SelEnd2></Tab><ActiveTab>2</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\APP\src\app_task.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>1492</SelStart2><SelEnd2>1492</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\APP\src\app.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>0</YPos2><SelStart2>25</SelStart2><SelEnd2>25</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
<Top><Row0><Sizes><Toolbar-02c634a8><key>iaridepm.enu1</key></Toolbar-02c634a8></Sizes></Row0><Row1><Sizes><Toolbar-26357d80><key>debuggergui.enu1</key></Toolbar-26357d80></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>703</Bottom><Right>241</Right><x>-2</x><y>-2</y><xscreen>99</xscreen><yscreen>197</yscreen><sizeHorzCX>58929</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>144643</sizeVertCX><sizeVertCY>729059</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>703</Bottom><Right>477</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>206825</sizeHorzCY><sizeVertCX>285119</sizeVertCX><sizeVertCY>729059</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>195</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>197</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>58929</sizeVertCX><sizeVertCY>203723</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-01215d00><key>iaridepm.enu1</key></Toolbar-01215d00></Sizes></Row0><Row1><Sizes><Toolbar-062b6f30><key>debuggergui.enu1</key></Toolbar-062b6f30></Sizes></Row1></Top><Left><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>703</Bottom><Right>241</Right><x>-2</x><y>-2</y><xscreen>99</xscreen><yscreen>197</yscreen><sizeHorzCX>58929</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>144643</sizeVertCX><sizeVertCY>729059</sizeVertCY></Rect></Wnd4></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>703</Bottom><Right>477</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>206825</sizeHorzCY><sizeVertCX>285119</sizeVertCX><sizeVertCY>729059</sizeVertCY></Rect></Wnd5></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>195</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>197</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203723</sizeHorzCY><sizeVertCX>58929</sizeVertCX><sizeVertCY>203723</sizeVertCY></Rect></Wnd2></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>

View File

@ -9,7 +9,7 @@ TriggerName=main
LimitSize=0
ByteLimit=50
[DebugChecksum]
Checksum=911493072
Checksum=-1153624826
[Exceptions]
StopOnUncaught=_ 0
StopOnThrow=_ 0

View File

@ -17,7 +17,7 @@
<Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1215</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>19</ColumnWidth0><ColumnWidth1>1622</ColumnWidth1></Debug-Log><Find-All-Declarations><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Find-All-Declarations></Static>
<Windows>
<Wnd0>
<Wnd2>
<Tabs>
<Tab>
<Identity>TabID-30370-1297</Identity>
@ -29,7 +29,7 @@
</Tab>
</Tabs>
<SelectedTab>0</SelectedTab></Wnd0><Wnd1><Tabs><Tab><Identity>TabID-24390-6730</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3984-13619</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd1></Windows>
<SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-24390-6730</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-3984-13619</Identity><TabName>Find All Declarations</TabName><Factory>Find-All-Declarations</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
@ -42,7 +42,7 @@
<Top><Row0><Sizes><Toolbar-02c634a8><key>iaridepm.enu1</key></Toolbar-02c634a8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>738</Bottom><Right>270</Right><x>-2</x><y>-2</y><xscreen>338</xscreen><yscreen>71</yscreen><sizeHorzCX>201190</sizeHorzCX><sizeHorzCY>73423</sizeHorzCY><sizeVertCX>161905</sizeVertCX><sizeVertCY>765253</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>184</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>186</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>192347</sizeHorzCY><sizeVertCX>201190</sizeVertCX><sizeVertCY>73423</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
<Top><Row0><Sizes><Toolbar-01215d00><key>iaridepm.enu1</key></Toolbar-01215d00></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>738</Bottom><Right>270</Right><x>-2</x><y>-2</y><xscreen>338</xscreen><yscreen>71</yscreen><sizeHorzCX>201190</sizeHorzCX><sizeHorzCY>73423</sizeHorzCY><sizeVertCX>161905</sizeVertCX><sizeVertCY>765253</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>184</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>186</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>192347</sizeHorzCY><sizeVertCX>201190</sizeVertCX><sizeVertCY>73423</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>

View File

@ -35,9 +35,9 @@
#define PR_END_EXTERN_C }
//TODO 暂时先写B13引脚等组网测试时再确认
#define SLAVE_RS485_SEND_MODE GPIO_SetBits(GPIOB,GPIO_Pin_13)
#define SLAVE_RS485_TRANS_MODE GPIO_SetBits(GPIOB,GPIO_Pin_13)
#define SLAVE_RS485_RECEIVE_MODE GPIO_ResetBits(GPIOB,GPIO_Pin_13)
#define MASTER_RS485_SEND_MODE GPIO_SetBits(GPIOB,GPIO_Pin_13)
#define MASTER_RS485_TRANS_MODE GPIO_SetBits(GPIOB,GPIO_Pin_13)
#define MASTER_RS485_RECEIVE_MODE GPIO_ResetBits(GPIOB,GPIO_Pin_13)
#define ENTER_CRITICAL_SECTION() EnterCriticalSection()

View File

@ -1,196 +0,0 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: portserial.c,v 1.60 2013/08/13 15:07:05 Armink $
*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mbport.h"
/* ----------------------- static functions ---------------------------------*/
static void prvvUARTTxReadyISR(void);
static void prvvUARTRxISR(void);
/* ----------------------- Start implementation -----------------------------*/
void vMBPortSerialEnable(BOOL xRxEnable, BOOL xTxEnable)
{
if (xRxEnable)
{
/* 485通信时等待串口移位寄存器中的数据发送完成后再去使能485的接收、失能485的发送*/
while (!USART_GetFlagStatus(USART1,USART_FLAG_TC));
SLAVE_RS485_RECEIVE_MODE;
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
}
else
{
SLAVE_RS485_SEND_MODE;
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
}
if (xTxEnable)
{
USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
}
else
{
USART_ITConfig(USART1, USART_IT_TXE, DISABLE);
}
}
void vMBPortClose(void)
{
USART_ITConfig(USART1, USART_IT_TXE | USART_IT_RXNE, DISABLE);
USART_Cmd(USART1, DISABLE);
}
//默认一个从机 串口1 波特率可设置 奇偶检验可设置
BOOL xMBPortSerialInit(UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits,
eMBParity eParity)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
//======================时钟初始化=======================================
RCC_APB2PeriphClockCmd(
RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_USART1,
ENABLE);
//======================IO初始化=======================================
//USART1_TX
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//USART1_RX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//配置485发送和接收模式
// TODO 暂时先写B13 等之后组网测试时再修改
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//======================串口初始化=======================================
USART_InitStructure.USART_BaudRate = ulBaudRate;
//设置校验模式
switch (eParity)
{
case MB_PAR_NONE: //无校验
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
break;
case MB_PAR_ODD: //奇校验
USART_InitStructure.USART_Parity = USART_Parity_Odd;
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
break;
case MB_PAR_EVEN: //偶校验
USART_InitStructure.USART_Parity = USART_Parity_Even;
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
break;
default:
return FALSE;
}
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_HardwareFlowControl =
USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
if (ucPORT != 1)
return FALSE;
ENTER_CRITICAL_SECTION(); //关全局中断
USART_Init(USART1, &USART_InitStructure);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
USART_Cmd(USART1, ENABLE);
//=====================中断初始化======================================
//设置NVIC优先级分组为Group20-3抢占式优先级0-3的响应式优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
EXIT_CRITICAL_SECTION(); //开全局中断
return TRUE;
}
BOOL xMBPortSerialPutByte(CHAR ucByte)
{
USART_SendData(USART1, ucByte);
return TRUE;
}
BOOL xMBPortSerialGetByte(CHAR * pucByte)
{
*pucByte = USART_ReceiveData(USART1);
return TRUE;
}
/*
* Create an interrupt handler for the transmit buffer empty interrupt
* (or an equivalent) for your target processor. This function should then
* call pxMBFrameCBTransmitterEmpty( ) which tells the protocol stack that
* a new character can be sent. The protocol stack will then call
* xMBPortSerialPutByte( ) to send the character.
*/
void prvvUARTTxReadyISR(void)
{
pxMBFrameCBTransmitterEmpty();
}
/*
* Create an interrupt handler for the receive interrupt for your target
* processor. This function should then call pxMBFrameCBByteReceived( ). The
* protocol stack will then call xMBPortSerialGetByte( ) to retrieve the
* character.
*/
void prvvUARTRxISR(void)
{
pxMBFrameCBByteReceived();
}
/*******************************************************************************
* Function Name : USART1_IRQHandler
* Description : This function handles USART1 global interrupt request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USART1_IRQHandler(void)
{
rt_interrupt_enter();
//溢出错误
if (USART_GetFlagStatus(USART1, USART_FLAG_ORE) == SET)
{
prvvUARTRxISR();
}
//接收中断
if (USART_GetITStatus(USART1, USART_IT_RXNE) == SET)
{
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
prvvUARTRxISR();
}
//发送中断
if (USART_GetITStatus(USART1, USART_IT_TXE) == SET)
{
prvvUARTTxReadyISR();
}
rt_interrupt_leave();
}

View File

@ -1,199 +0,0 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: portserial_m.c,v 1.60 2013/08/13 15:07:05 Armink add Master Functions $
*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mbport.h"
#if MB_MASTER_RTU_ENABLED > 0 || MB_MASTER_ASCII_ENABLED > 0
/* ----------------------- static functions ---------------------------------*/
static void prvvUARTTxReadyISR(void);
static void prvvUARTRxISR(void);
/* ----------------------- Start implementation -----------------------------*/
void vMBMasterPortSerialEnable(BOOL xRxEnable, BOOL xTxEnable)
{
if (xRxEnable)
{
/* 485通信时等待串口移位寄存器中的数据发送完成后再去使能485的接收、失能485的发送*/
while (!USART_GetFlagStatus(USART2,USART_FLAG_TC));
MASTER_RS485_RECEIVE_MODE;
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
}
else
{
MASTER_RS485_SEND_MODE;
USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
}
if (xTxEnable)
{
USART_ITConfig(USART2, USART_IT_TXE, ENABLE);
}
else
{
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
}
}
void vMBMasterPortClose(void)
{
USART_ITConfig(USART2, USART_IT_TXE | USART_IT_RXNE, DISABLE);
USART_Cmd(USART2, DISABLE);
}
//默认一个主机 串口2 波特率可设置 奇偶检验可设置
BOOL xMBMasterPortSerialInit(UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits,
eMBParity eParity)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
//======================时钟初始化=======================================
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//======================IO初始化=======================================
//USART2_TX
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//USART2_RX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//配置485发送和接收模式
// TODO 暂时先写B13 等之后组网测试时再修改
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//======================串口初始化=======================================
USART_InitStructure.USART_BaudRate = ulBaudRate;
//设置校验模式
switch (eParity)
{
case MB_PAR_NONE: //无校验
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
break;
case MB_PAR_ODD: //奇校验
USART_InitStructure.USART_Parity = USART_Parity_Odd;
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
break;
case MB_PAR_EVEN: //偶校验
USART_InitStructure.USART_Parity = USART_Parity_Even;
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
break;
default:
return FALSE;
}
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_HardwareFlowControl =
USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
if (ucPORT != 2)
return FALSE;
ENTER_CRITICAL_SECTION(); //关全局中断
USART_Init(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
USART_Cmd(USART2, ENABLE);
//=====================中断初始化======================================
//设置NVIC优先级分组为Group20-3抢占式优先级0-3的响应式优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
EXIT_CRITICAL_SECTION(); //开全局中断
return TRUE;
}
BOOL xMBMasterPortSerialPutByte(CHAR ucByte)
{
USART_SendData(USART2, ucByte);
return TRUE;
}
BOOL xMBMasterPortSerialGetByte(CHAR * pucByte)
{
*pucByte = USART_ReceiveData(USART2);
return TRUE;
}
/*
* Create an interrupt handler for the transmit buffer empty interrupt
* (or an equivalent) for your target processor. This function should then
* call pxMBFrameCBTransmitterEmpty( ) which tells the protocol stack that
* a new character can be sent. The protocol stack will then call
* xMBPortSerialPutByte( ) to send the character.
*/
void prvvUARTTxReadyISR(void)
{
pxMBMasterFrameCBTransmitterEmpty();
}
/*
* Create an interrupt handler for the receive interrupt for your target
* processor. This function should then call pxMBFrameCBByteReceived( ). The
* protocol stack will then call xMBPortSerialGetByte( ) to retrieve the
* character.
*/
void prvvUARTRxISR(void)
{
pxMBMasterFrameCBByteReceived();
}
/*******************************************************************************
* Function Name : USART2_IRQHandler
* Description : This function handles USART2 global interrupt request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USART2_IRQHandler(void)
{
rt_interrupt_enter();
//溢出错误
if (USART_GetFlagStatus(USART2, USART_FLAG_ORE) == SET)
{
prvvUARTRxISR();
}
//接收中断
if (USART_GetITStatus(USART2, USART_IT_RXNE) == SET)
{
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
prvvUARTRxISR();
}
//发送中断
if (USART_GetITStatus(USART2, USART_IT_TXE) == SET)
{
prvvUARTTxReadyISR();
}
rt_interrupt_leave();
}
#endif

View File

@ -1,107 +0,0 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: porttimer.c,v 1.60 2013/08/13 15:07:05 Armink $
*/
/* ----------------------- Platform includes --------------------------------*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mbport.h"
/* ----------------------- static functions ---------------------------------*/
static void prvvTIMERExpiredISR(void);
/* ----------------------- Start implementation -----------------------------*/
BOOL xMBPortTimersInit(USHORT usTim1Timerout50us)
{
uint16_t PrescalerValue = 0;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
//====================================时钟初始化===========================
//使能定时器3时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
//====================================定时器初始化===========================
//定时器时间基配置说明
//HCLK为72MHzAPB1经过2分频为36MHz
//TIM3的时钟倍频后为72MHz硬件自动倍频,达到最大)
//TIM3的分频系数为3599时间基频率为72 / (1 + Prescaler) = 20KHz,基准为50us
//TIM最大计数值为usTim1Timerout50u
PrescalerValue = (uint16_t) (SystemCoreClock / 20000) - 1;
//定时器1初始化
TIM_TimeBaseStructure.TIM_Period = (uint16_t) usTim1Timerout50us;
TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
//预装载使能
TIM_ARRPreloadConfig(TIM3, ENABLE);
//====================================中断初始化===========================
//设置NVIC优先级分组为Group20-3抢占式优先级0-3的响应式优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//清除溢出中断标志位
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
//定时器3溢出中断关闭
TIM_ITConfig(TIM3, TIM_IT_Update, DISABLE);
//定时器3禁能
TIM_Cmd(TIM3, DISABLE);
return TRUE;
}
void vMBPortTimersEnable()
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM3, 0);
TIM_Cmd(TIM3, ENABLE);
}
void vMBPortTimersDisable()
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update);
TIM_ITConfig(TIM3, TIM_IT_Update, DISABLE);
TIM_SetCounter(TIM3, 0);
TIM_Cmd(TIM3, DISABLE);
}
void prvvTIMERExpiredISR(void)
{
(void) pxMBPortCBTimerExpired();
}
void TIM3_IRQHandler(void)
{
rt_interrupt_enter();
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
{
TIM_ClearFlag(TIM3, TIM_FLAG_Update); //清中断标记
TIM_ClearITPendingBit(TIM3, TIM_IT_Update); //清除定时器T3溢出中断标志位
prvvTIMERExpiredISR();
}
rt_interrupt_leave();
}

View File

@ -1,157 +0,0 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: porttimer_m.c,v 1.60 2013/08/13 15:07:05 Armink add Master Functions$
*/
/* ----------------------- Platform includes --------------------------------*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mb_m.h"
#include "mbport.h"
#if MB_MASTER_RTU_ENABLED > 0 || MB_MASTER_ASCII_ENABLED > 0
/* ----------------------- Variables ----------------------------------------*/
static USHORT usT35TimeOut50us;
static USHORT usPrescalerValue = 0;
/* ----------------------- static functions ---------------------------------*/
static void prvvTIMERExpiredISR(void);
/* ----------------------- Start implementation -----------------------------*/
BOOL xMBMasterPortTimersInit(USHORT usTimeOut50us)
{
NVIC_InitTypeDef NVIC_InitStructure;
//====================================时钟初始化===========================
//使能定时器2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
//====================================定时器初始化===========================
//定时器时间基配置说明
//HCLK为72MHzAPB1经过2分频为36MHz
//TIM2的时钟倍频后为72MHz硬件自动倍频,达到最大)
//TIM2的分频系数为3599时间基频率为72 / (1 + Prescaler) = 20KHz,基准为50us
//TIM最大计数值为usTim1Timerout50u
usPrescalerValue = (uint16_t) (SystemCoreClock / 20000) - 1;
//保存T35定时器计数值
usT35TimeOut50us = usTimeOut50us;
//预装载使能
TIM_ARRPreloadConfig(TIM2, ENABLE);
//====================================中断初始化===========================
//设置NVIC优先级分组为Group20-3抢占式优先级0-3的响应式优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//清除溢出中断标志位
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
//定时器3溢出中断关闭
TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE);
//定时器3禁能
TIM_Cmd(TIM2, DISABLE);
return TRUE;
}
void vMBMasterPortTimersT35Enable()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Set current timer mode,don't change it.*/
vMBMasterSetCurTimerMode(MB_TMODE_T35);
TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = (uint16_t) usT35TimeOut50us;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, ENABLE);
}
void vMBMasterPortTimersConvertDelayEnable()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Set current timer mode,don't change it.*/
vMBMasterSetCurTimerMode(MB_TMODE_CONVERT_DELAY);
TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = (uint16_t)(MB_MASTER_DELAY_MS_CONVERT * 1000 / 50);
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, ENABLE);
}
void vMBMasterPortTimersRespondTimeoutEnable()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Set current timer mode,don't change it.*/
vMBMasterSetCurTimerMode(MB_TMODE_RESPOND_TIMEOUT);
TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = (uint16_t)(MB_MASTER_TIMEOUT_MS_RESPOND * 1000 / 50);
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, ENABLE);
}
void vMBMasterPortTimersDisable()
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, DISABLE);
}
void prvvTIMERExpiredISR(void)
{
(void) pxMBMasterPortCBTimerExpired();
}
void TIM2_IRQHandler(void)
{
rt_interrupt_enter();
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
TIM_ClearFlag(TIM2, TIM_FLAG_Update); //清中断标记
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除定时器TIM2溢出中断标志位
prvvTIMERExpiredISR();
}
rt_interrupt_leave();
}
#endif

View File

@ -29,14 +29,14 @@ static struct rt_event xSlaveOsEvent;
BOOL
xMBPortEventInit( void )
{
rt_event_init(&xSlaveOsEvent,"slave event",RT_IPC_FLAG_PRIO);
rt_event_init(&xSlaveOsEvent,"slave event",RT_IPC_FLAG_PRIO);
return TRUE;
}
BOOL
xMBPortEventPost( eMBEventType eEvent )
{
rt_event_send(&xSlaveOsEvent, eEvent);
rt_event_send(&xSlaveOsEvent, eEvent);
return TRUE;
}
@ -45,24 +45,24 @@ xMBPortEventGet( eMBEventType * eEvent )
{
rt_uint32_t recvedEvent;
/* waiting forever OS event */
rt_event_recv(&xSlaveOsEvent,
EV_READY | EV_FRAME_RECEIVED | EV_EXECUTE | EV_FRAME_SENT,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER,
&recvedEvent);
switch (recvedEvent)
{
case EV_READY:
*eEvent = EV_READY;
break;
case EV_FRAME_RECEIVED:
*eEvent = EV_FRAME_RECEIVED;
break;
case EV_EXECUTE:
*eEvent = EV_EXECUTE;
break;
case EV_FRAME_SENT:
*eEvent = EV_FRAME_SENT;
break;
}
rt_event_recv(&xSlaveOsEvent,
EV_READY | EV_FRAME_RECEIVED | EV_EXECUTE | EV_FRAME_SENT,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER,
&recvedEvent);
switch (recvedEvent)
{
case EV_READY:
*eEvent = EV_READY;
break;
case EV_FRAME_RECEIVED:
*eEvent = EV_FRAME_RECEIVED;
break;
case EV_EXECUTE:
*eEvent = EV_EXECUTE;
break;
case EV_FRAME_SENT:
*eEvent = EV_FRAME_SENT;
break;
}
return TRUE;
}

View File

@ -34,14 +34,14 @@ static struct rt_event xMasterOsEvent;
BOOL
xMBMasterPortEventInit( void )
{
rt_event_init(&xMasterOsEvent,"master event",RT_IPC_FLAG_PRIO);
rt_event_init(&xMasterOsEvent,"master event",RT_IPC_FLAG_PRIO);
return TRUE;
}
BOOL
xMBMasterPortEventPost( eMBMasterEventType eEvent )
{
rt_event_send(&xMasterOsEvent, eEvent);
rt_event_send(&xMasterOsEvent, eEvent);
return TRUE;
}
@ -50,30 +50,30 @@ xMBMasterPortEventGet( eMBMasterEventType * eEvent )
{
rt_uint32_t recvedEvent;
/* waiting forever OS event */
rt_event_recv(&xMasterOsEvent,
EV_MASTER_READY | EV_MASTER_FRAME_RECEIVED | EV_MASTER_EXECUTE |
EV_MASTER_FRAME_SENT | EV_MASTER_ERROR_PROCESS,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER,
&recvedEvent);
/* the enum type couldn't convert to int type */
switch (recvedEvent)
{
case EV_MASTER_READY:
*eEvent = EV_MASTER_READY;
break;
case EV_MASTER_FRAME_RECEIVED:
*eEvent = EV_MASTER_FRAME_RECEIVED;
break;
case EV_MASTER_EXECUTE:
*eEvent = EV_MASTER_EXECUTE;
break;
case EV_MASTER_FRAME_SENT:
*eEvent = EV_MASTER_FRAME_SENT;
break;
case EV_MASTER_ERROR_PROCESS:
*eEvent = EV_MASTER_ERROR_PROCESS;
break;
}
rt_event_recv(&xMasterOsEvent,
EV_MASTER_READY | EV_MASTER_FRAME_RECEIVED | EV_MASTER_EXECUTE |
EV_MASTER_FRAME_SENT | EV_MASTER_ERROR_PROCESS,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER,
&recvedEvent);
/* the enum type couldn't convert to int type */
switch (recvedEvent)
{
case EV_MASTER_READY:
*eEvent = EV_MASTER_READY;
break;
case EV_MASTER_FRAME_RECEIVED:
*eEvent = EV_MASTER_FRAME_RECEIVED;
break;
case EV_MASTER_EXECUTE:
*eEvent = EV_MASTER_EXECUTE;
break;
case EV_MASTER_FRAME_SENT:
*eEvent = EV_MASTER_FRAME_SENT;
break;
case EV_MASTER_ERROR_PROCESS:
*eEvent = EV_MASTER_ERROR_PROCESS;
break;
}
return TRUE;
}
/**
@ -83,7 +83,7 @@ xMBMasterPortEventGet( eMBMasterEventType * eEvent )
*/
void vMBMasterOsResInit( void )
{
rt_sem_init(&xMasterRunRes, "master res", 0x01 , RT_IPC_FLAG_PRIO);
rt_sem_init(&xMasterRunRes, "master res", 0x01 , RT_IPC_FLAG_PRIO);
}
/**
@ -96,8 +96,8 @@ void vMBMasterOsResInit( void )
*/
BOOL xMBMasterRunResTake( LONG lTimeOut )
{
/*If waiting time is -1 .It will wait forever */
return rt_sem_take(&xMasterRunRes, lTimeOut) ? FALSE : TRUE ;
/*If waiting time is -1 .It will wait forever */
return rt_sem_take(&xMasterRunRes, lTimeOut) ? FALSE : TRUE ;
}
/**
@ -107,8 +107,8 @@ BOOL xMBMasterRunResTake( LONG lTimeOut )
*/
void vMBMasterRunResRelease( void )
{
/* release resource */
rt_sem_release(&xMasterRunRes);
/* release resource */
rt_sem_release(&xMasterRunRes);
}
/**
@ -122,14 +122,14 @@ void vMBMasterRunResRelease( void )
*
*/
void vMBMasterErrorCBRespondTimeout(UCHAR ucDestAddress, const UCHAR* pucPDUData,
USHORT ucPDULength) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_ERROR_RESPOND_TIMEOUT);
USHORT ucPDULength) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_ERROR_RESPOND_TIMEOUT);
/* You can add your code under here. */
/* You can add your code under here. */
}
@ -144,14 +144,14 @@ void vMBMasterErrorCBRespondTimeout(UCHAR ucDestAddress, const UCHAR* pucPDUData
*
*/
void vMBMasterErrorCBReceiveData(UCHAR ucDestAddress, const UCHAR* pucPDUData,
USHORT ucPDULength) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_ERROR_RECEIVE_DATA);
USHORT ucPDULength) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_ERROR_RECEIVE_DATA);
/* You can add your code under here. */
/* You can add your code under here. */
}
@ -166,14 +166,14 @@ void vMBMasterErrorCBReceiveData(UCHAR ucDestAddress, const UCHAR* pucPDUData,
*
*/
void vMBMasterErrorCBExecuteFunction(UCHAR ucDestAddress, const UCHAR* pucPDUData,
USHORT ucPDULength) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_ERROR_EXECUTE_FUNCTION);
USHORT ucPDULength) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_ERROR_EXECUTE_FUNCTION);
/* You can add your code under here. */
/* You can add your code under here. */
}
@ -184,13 +184,13 @@ void vMBMasterErrorCBExecuteFunction(UCHAR ucDestAddress, const UCHAR* pucPDUDat
*
*/
void vMBMasterCBRequestScuuess( void ) {
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_PROCESS_SUCESS);
/**
* @note This code is use OS's event mechanism for modbus master protocol stack.
* If you don't use OS, you can change it.
*/
rt_event_send(&xMasterOsEvent, EV_MASTER_PROCESS_SUCESS);
/* You can add your code under here. */
/* You can add your code under here. */
}
@ -207,32 +207,32 @@ eMBMasterReqErrCode eMBMasterWaitRequestFinish( void ) {
eMBMasterReqErrCode eErrStatus = MB_MRE_NO_ERR;
rt_uint32_t recvedEvent;
/* waiting for OS event */
rt_event_recv(&xMasterOsEvent,
EV_MASTER_PROCESS_SUCESS | EV_MASTER_ERROR_RESPOND_TIMEOUT
| EV_MASTER_ERROR_RECEIVE_DATA
| EV_MASTER_ERROR_EXECUTE_FUNCTION,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER,
&recvedEvent);
switch (recvedEvent)
{
case EV_MASTER_PROCESS_SUCESS:
break;
case EV_MASTER_ERROR_RESPOND_TIMEOUT:
{
eErrStatus = MB_MRE_TIMEDOUT;
break;
}
case EV_MASTER_ERROR_RECEIVE_DATA:
{
eErrStatus = MB_MRE_REV_DATA;
break;
}
case EV_MASTER_ERROR_EXECUTE_FUNCTION:
{
eErrStatus = MB_MRE_EXE_FUN;
break;
}
}
rt_event_recv(&xMasterOsEvent,
EV_MASTER_PROCESS_SUCESS | EV_MASTER_ERROR_RESPOND_TIMEOUT
| EV_MASTER_ERROR_RECEIVE_DATA
| EV_MASTER_ERROR_EXECUTE_FUNCTION,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER,
&recvedEvent);
switch (recvedEvent)
{
case EV_MASTER_PROCESS_SUCESS:
break;
case EV_MASTER_ERROR_RESPOND_TIMEOUT:
{
eErrStatus = MB_MRE_TIMEDOUT;
break;
}
case EV_MASTER_ERROR_RECEIVE_DATA:
{
eErrStatus = MB_MRE_REV_DATA;
break;
}
case EV_MASTER_ERROR_EXECUTE_FUNCTION:
{
eErrStatus = MB_MRE_EXE_FUN;
break;
}
}
return eErrStatus;
}

View File

@ -0,0 +1,245 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: portserial.c,v 1.60 2013/08/13 15:07:05 Armink $
*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mbport.h"
#include "rtdevice.h"
#include "bsp.h"
/* ----------------------- Static variables ---------------------------------*/
ALIGN(RT_ALIGN_SIZE)
/* software simulation serial transmit IRQ handler thread stack */
static rt_uint8_t serial_soft_trans_irq_stack[512];
/* software simulation serial transmit IRQ handler thread */
static struct rt_thread thread_serial_soft_trans_irq;
/* serial event */
static struct rt_event event_serial;
/* modbus slave serial device */
static rt_serial_t *serial;
/* ----------------------- Defines ------------------------------------------*/
/* serial transmit event */
#define EVENT_SERIAL_TRANS_START (1<<0)
/* ----------------------- static functions ---------------------------------*/
static void prvvUARTTxReadyISR(void);
static void prvvUARTRxISR(void);
static rt_err_t serial_rx_ind(rt_device_t dev, rt_size_t size);
static void serial_soft_trans_irq(void* parameter);
/* ----------------------- Start implementation -----------------------------*/
BOOL xMBPortSerialInit(UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits,
eMBParity eParity)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* set 485 model receive and transmit control IO */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* set serial name */
if (ucPORT == 1) {
#if defined(RT_USING_UART1) || defined(RT_USING_REMAP_UART1)
extern struct rt_serial_device serial1;
serial = &serial1;
#endif
} else if (ucPORT == 2) {
#if defined(RT_USING_UART2)
extern struct rt_serial_device serial2;
serial = &serial2;
#endif
} else if (ucPORT == 3) {
#if defined(RT_USING_UART3)
extern struct rt_serial_device serial3;
serial = &serial3;
#endif
}
/* set serial configure parameter */
serial->config.baud_rate = ulBaudRate;
serial->config.stop_bits = STOP_BITS_1;
switch(eParity){
case MB_PAR_NONE: {
serial->config.data_bits = DATA_BITS_8;
serial->config.parity = PARITY_NONE;
break;
}
case MB_PAR_ODD: {
serial->config.data_bits = DATA_BITS_9;
serial->config.parity = PARITY_ODD;
break;
}
case MB_PAR_EVEN: {
serial->config.data_bits = DATA_BITS_9;
serial->config.parity = PARITY_EVEN;
break;
}
}
/* disable all interrupt */
ENTER_CRITICAL_SECTION();
/* set serial configure */
serial->ops->configure(serial, &(serial->config));
/* resume all interrupt */
EXIT_CRITICAL_SECTION();
/* open serial device */
if (!serial->parent.open(&serial->parent,
RT_DEVICE_OFLAG_RDWR | RT_DEVICE_FLAG_INT_RX )) {
serial->parent.rx_indicate = serial_rx_ind;
} else {
return FALSE;
}
/* software initialize */
rt_thread_init(&thread_serial_soft_trans_irq,
"slave trans",
serial_soft_trans_irq,
RT_NULL,
serial_soft_trans_irq_stack,
sizeof(serial_soft_trans_irq_stack),
10, 5);
rt_thread_startup(&thread_serial_soft_trans_irq);
rt_event_init(&event_serial, "slave event", RT_IPC_FLAG_PRIO);
return TRUE;
}
void vMBPortSerialEnable(BOOL xRxEnable, BOOL xTxEnable)
{
rt_uint32_t recved_event;
uint32_t irq_type;
if (xRxEnable)
{
/* waiting for last transmit complete */
while (1)
{
irq_type = RT_DEVICE_FLAG_INT_TX;
serial->ops->control(serial, RT_DEVICE_CTRL_GET_FLAG, &irq_type);
if (irq_type)
{
break;
}
}
/* enable RX interrupt */
irq_type = RT_DEVICE_FLAG_INT_RX;
serial->ops->control(serial, RT_DEVICE_CTRL_SET_INT, &irq_type);
/* switch 485 to receive mode */
SLAVE_RS485_RECEIVE_MODE;
}
else
{
/* switch 485 to transmit mode */
SLAVE_RS485_TRANS_MODE;
/* disable RX interrupt */
irq_type = RT_DEVICE_FLAG_INT_RX;
serial->ops->control(serial, RT_DEVICE_CTRL_CLR_INT, &irq_type);
}
if (xTxEnable)
{
/* start serial transmit */
rt_event_send(&event_serial, EVENT_SERIAL_TRANS_START);
irq_type = RT_DEVICE_FLAG_INT_TX;
}
else
{
/* stop serial transmit */
rt_event_recv(&event_serial, EVENT_SERIAL_TRANS_START,
RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, 0,
&recved_event);
irq_type = RT_DEVICE_FLAG_INT_TX;
}
}
void vMBPortClose(void)
{
serial->parent.close(&(serial->parent));
}
BOOL xMBPortSerialPutByte(CHAR ucByte)
{
serial->parent.write(&(serial->parent), 0, &ucByte, 1);
return TRUE;
}
BOOL xMBPortSerialGetByte(CHAR * pucByte)
{
serial->parent.read(&(serial->parent), 0, pucByte, 1);
return TRUE;
}
/*
* Create an interrupt handler for the transmit buffer empty interrupt
* (or an equivalent) for your target processor. This function should then
* call pxMBFrameCBTransmitterEmpty( ) which tells the protocol stack that
* a new character can be sent. The protocol stack will then call
* xMBPortSerialPutByte( ) to send the character.
*/
void prvvUARTTxReadyISR(void)
{
pxMBFrameCBTransmitterEmpty();
}
/*
* Create an interrupt handler for the receive interrupt for your target
* processor. This function should then call pxMBFrameCBByteReceived( ). The
* protocol stack will then call xMBPortSerialGetByte( ) to retrieve the
* character.
*/
void prvvUARTRxISR(void)
{
pxMBFrameCBByteReceived();
}
/**
* Software simulation serial transmit IRQ handler.
*
* @param parameter parameter
*/
static void serial_soft_trans_irq(void* parameter) {
rt_uint32_t recved_event;
while (1)
{
/* waiting for serial transmit start */
rt_event_recv(&event_serial, EVENT_SERIAL_TRANS_START, RT_EVENT_FLAG_OR,
RT_WAITING_FOREVER, &recved_event);
/* execute modbus callback */
prvvUARTTxReadyISR();
}
}
/**
* This function is serial receive callback function
*
* @param dev the device of serial
* @param size the data size that receive
*
* @return return RT_EOK
*/
static rt_err_t serial_rx_ind(rt_device_t dev, rt_size_t size) {
prvvUARTRxISR();
return RT_EOK;
}

View File

@ -0,0 +1,199 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: portserial_m.c,v 1.60 2013/08/13 15:07:05 Armink add Master Functions $
*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mbport.h"
#if MB_MASTER_RTU_ENABLED > 0 || MB_MASTER_ASCII_ENABLED > 0
/* ----------------------- static functions ---------------------------------*/
static void prvvUARTTxReadyISR(void);
static void prvvUARTRxISR(void);
/* ----------------------- Start implementation -----------------------------*/
void vMBMasterPortSerialEnable(BOOL xRxEnable, BOOL xTxEnable)
{
if (xRxEnable)
{
/* 485通信时等待串口移位寄存器中的数据发送完成后再去使能485的接收、失能485的发送*/
while (!USART_GetFlagStatus(USART2,USART_FLAG_TC));
MASTER_RS485_RECEIVE_MODE;
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
}
else
{
MASTER_RS485_TRANS_MODE;
USART_ITConfig(USART2, USART_IT_RXNE, DISABLE);
}
if (xTxEnable)
{
USART_ITConfig(USART2, USART_IT_TXE, ENABLE);
}
else
{
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
}
}
void vMBMasterPortClose(void)
{
USART_ITConfig(USART2, USART_IT_TXE | USART_IT_RXNE, DISABLE);
USART_Cmd(USART2, DISABLE);
}
//默认一个主机 串口2 波特率可设置 奇偶检验可设置
BOOL xMBMasterPortSerialInit(UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits,
eMBParity eParity)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
//======================时钟初始化=======================================
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
//======================IO初始化=======================================
//USART2_TX
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//USART2_RX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//配置485发送和接收模式
// TODO 暂时先写B13 等之后组网测试时再修改
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//======================串口初始化=======================================
USART_InitStructure.USART_BaudRate = ulBaudRate;
//设置校验模式
switch (eParity)
{
case MB_PAR_NONE: //无校验
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
break;
case MB_PAR_ODD: //奇校验
USART_InitStructure.USART_Parity = USART_Parity_Odd;
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
break;
case MB_PAR_EVEN: //偶校验
USART_InitStructure.USART_Parity = USART_Parity_Even;
USART_InitStructure.USART_WordLength = USART_WordLength_9b;
break;
default:
return FALSE;
}
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_HardwareFlowControl =
USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
if (ucPORT != 2)
return FALSE;
ENTER_CRITICAL_SECTION(); //关全局中断
USART_Init(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
USART_Cmd(USART2, ENABLE);
//=====================中断初始化======================================
//设置NVIC优先级分组为Group20-3抢占式优先级0-3的响应式优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
EXIT_CRITICAL_SECTION(); //开全局中断
return TRUE;
}
BOOL xMBMasterPortSerialPutByte(CHAR ucByte)
{
USART_SendData(USART2, ucByte);
return TRUE;
}
BOOL xMBMasterPortSerialGetByte(CHAR * pucByte)
{
*pucByte = USART_ReceiveData(USART2);
return TRUE;
}
/*
* Create an interrupt handler for the transmit buffer empty interrupt
* (or an equivalent) for your target processor. This function should then
* call pxMBFrameCBTransmitterEmpty( ) which tells the protocol stack that
* a new character can be sent. The protocol stack will then call
* xMBPortSerialPutByte( ) to send the character.
*/
void prvvUARTTxReadyISR(void)
{
pxMBMasterFrameCBTransmitterEmpty();
}
/*
* Create an interrupt handler for the receive interrupt for your target
* processor. This function should then call pxMBFrameCBByteReceived( ). The
* protocol stack will then call xMBPortSerialGetByte( ) to retrieve the
* character.
*/
void prvvUARTRxISR(void)
{
pxMBMasterFrameCBByteReceived();
}
/*******************************************************************************
* Function Name : USART2_IRQHandler
* Description : This function handles USART2 global interrupt request.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USART2_IRQHandler(void)
{
rt_interrupt_enter();
//溢出错误
if (USART_GetFlagStatus(USART2, USART_FLAG_ORE) == SET)
{
prvvUARTRxISR();
}
//接收中断
if (USART_GetITStatus(USART2, USART_IT_RXNE) == SET)
{
USART_ClearITPendingBit(USART2, USART_IT_RXNE);
prvvUARTRxISR();
}
//发送中断
if (USART_GetITStatus(USART2, USART_IT_TXE) == SET)
{
prvvUARTTxReadyISR();
}
rt_interrupt_leave();
}
#endif

View File

@ -0,0 +1,67 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: porttimer.c,v 1.60 2013/08/13 15:07:05 Armink $
*/
/* ----------------------- Platform includes --------------------------------*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mbport.h"
/* ----------------------- static functions ---------------------------------*/
static struct rt_timer timer;
static void prvvTIMERExpiredISR(void);
static void timer_timeout_ind(void* parameter);
/* ----------------------- Start implementation -----------------------------*/
BOOL xMBPortTimersInit(USHORT usTim1Timerout50us)
{
rt_timer_init(&timer, "plc_recv_timer",
timer_timeout_ind, /* bind timeout callback function */
RT_NULL,
(50*usTim1Timerout50us)/(1000*1000/RT_TICK_PER_SECOND),
RT_TIMER_FLAG_ONE_SHOT); /* one shot */
return TRUE;
}
void vMBPortTimersEnable()
{
rt_timer_start(&timer);
}
void vMBPortTimersDisable()
{
rt_timer_stop(&timer);
}
void prvvTIMERExpiredISR(void)
{
(void) pxMBPortCBTimerExpired();
}
/**
* This function is PLC uart receive timer callback function
*
* @param parameter null
*/
static void timer_timeout_ind(void* parameter)
{
prvvTIMERExpiredISR();
}

View File

@ -0,0 +1,157 @@
/*
* FreeModbus Libary: STM32 Port
* Copyright (C) 2013 Armink <armink.ztl@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* File: $Id: porttimer_m.c,v 1.60 2013/08/13 15:07:05 Armink add Master Functions$
*/
/* ----------------------- Platform includes --------------------------------*/
#include "port.h"
/* ----------------------- Modbus includes ----------------------------------*/
#include "mb.h"
#include "mb_m.h"
#include "mbport.h"
#if MB_MASTER_RTU_ENABLED > 0 || MB_MASTER_ASCII_ENABLED > 0
/* ----------------------- Variables ----------------------------------------*/
static USHORT usT35TimeOut50us;
static USHORT usPrescalerValue = 0;
/* ----------------------- static functions ---------------------------------*/
static void prvvTIMERExpiredISR(void);
/* ----------------------- Start implementation -----------------------------*/
BOOL xMBMasterPortTimersInit(USHORT usTimeOut50us)
{
NVIC_InitTypeDef NVIC_InitStructure;
//====================================时钟初始化===========================
//使能定时器2时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
//====================================定时器初始化===========================
//定时器时间基配置说明
//HCLK为72MHzAPB1经过2分频为36MHz
//TIM2的时钟倍频后为72MHz硬件自动倍频,达到最大)
//TIM2的分频系数为3599时间基频率为72 / (1 + Prescaler) = 20KHz,基准为50us
//TIM最大计数值为usTim1Timerout50u
usPrescalerValue = (uint16_t) (SystemCoreClock / 20000) - 1;
//保存T35定时器计数值
usT35TimeOut50us = usTimeOut50us;
//预装载使能
TIM_ARRPreloadConfig(TIM2, ENABLE);
//====================================中断初始化===========================
//设置NVIC优先级分组为Group20-3抢占式优先级0-3的响应式优先级
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//清除溢出中断标志位
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
//定时器3溢出中断关闭
TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE);
//定时器3禁能
TIM_Cmd(TIM2, DISABLE);
return TRUE;
}
void vMBMasterPortTimersT35Enable()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Set current timer mode,don't change it.*/
vMBMasterSetCurTimerMode(MB_TMODE_T35);
TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = (uint16_t) usT35TimeOut50us;
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, ENABLE);
}
void vMBMasterPortTimersConvertDelayEnable()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Set current timer mode,don't change it.*/
vMBMasterSetCurTimerMode(MB_TMODE_CONVERT_DELAY);
TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = (uint16_t)(MB_MASTER_DELAY_MS_CONVERT * 1000 / 50);
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, ENABLE);
}
void vMBMasterPortTimersRespondTimeoutEnable()
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
/* Set current timer mode,don't change it.*/
vMBMasterSetCurTimerMode(MB_TMODE_RESPOND_TIMEOUT);
TIM_TimeBaseStructure.TIM_Prescaler = usPrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = (uint16_t)(MB_MASTER_TIMEOUT_MS_RESPOND * 1000 / 50);
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, ENABLE);
}
void vMBMasterPortTimersDisable()
{
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE);
TIM_SetCounter(TIM2, 0);
TIM_Cmd(TIM2, DISABLE);
}
void prvvTIMERExpiredISR(void)
{
(void) pxMBMasterPortCBTimerExpired();
}
void TIM2_IRQHandler(void)
{
rt_interrupt_enter();
if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
TIM_ClearFlag(TIM2, TIM_FLAG_Update); //清中断标记
TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除定时器TIM2溢出中断标志位
prvvTIMERExpiredISR();
}
rt_interrupt_leave();
}
#endif

View File

@ -66,9 +66,10 @@
#endif
#define RT_DEVICE_CTRL_CONFIG 0x03 /* configure device */
#define RT_DEVICE_CTRL_SET_INT 0x10 /* enable receive irq */
#define RT_DEVICE_CTRL_CLR_INT 0x11 /* disable receive irq */
#define RT_DEVICE_CTRL_SET_INT 0x10 /* enable serial irq */
#define RT_DEVICE_CTRL_CLR_INT 0x11 /* disable serial irq */
#define RT_DEVICE_CTRL_GET_INT 0x12
#define RT_DEVICE_CTRL_GET_FLAG 0x13
#define RT_SERIAL_EVENT_RX_IND 0x01 /* Rx indication */
#define RT_SERIAL_EVENT_TX_DONE 0x02 /* Tx complete */

File diff suppressed because one or more lines are too long

View File

@ -435,6 +435,11 @@
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c</FilePath>
</File>
<File>
<FileName>usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\BSP\src\usart.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -690,6 +695,11 @@
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\wrokqueue.c</FilePath>
</File>
<File>
<FileName>serial.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\serial\serial.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -753,17 +763,17 @@
<File>
<FileName>portevent.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portevent.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portevent.c</FilePath>
</File>
<File>
<FileName>portserial.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portserial.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portserial.c</FilePath>
</File>
<File>
<FileName>porttimer.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\porttimer.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\porttimer.c</FilePath>
</File>
<File>
<FileName>user_mb_app.c</FileName>
@ -808,17 +818,17 @@
<File>
<FileName>portevent_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portevent_m.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portevent_m.c</FilePath>
</File>
<File>
<FileName>portserial_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portserial_m.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portserial_m.c</FilePath>
</File>
<File>
<FileName>porttimer_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\porttimer_m.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\porttimer_m.c</FilePath>
</File>
<File>
<FileName>user_mb_app_m.c</FileName>
@ -1258,6 +1268,11 @@
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c</FilePath>
</File>
<File>
<FileName>usart.c</FileName>
<FileType>1</FileType>
<FilePath>..\BSP\src\usart.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -1513,6 +1528,11 @@
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\wrokqueue.c</FilePath>
</File>
<File>
<FileName>serial.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\serial\serial.c</FilePath>
</File>
</Files>
</Group>
<Group>
@ -1576,17 +1596,17 @@
<File>
<FileName>portevent.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portevent.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portevent.c</FilePath>
</File>
<File>
<FileName>portserial.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portserial.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portserial.c</FilePath>
</File>
<File>
<FileName>porttimer.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\porttimer.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\porttimer.c</FilePath>
</File>
<File>
<FileName>user_mb_app.c</FileName>
@ -1631,17 +1651,17 @@
<File>
<FileName>portevent_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portevent_m.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portevent_m.c</FilePath>
</File>
<File>
<FileName>portserial_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\portserial_m.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\portserial_m.c</FilePath>
</File>
<File>
<FileName>porttimer_m.c</FileName>
<FileType>1</FileType>
<FilePath>..\FreeModbus\port\porttimer_m.c</FilePath>
<FilePath>..\FreeModbus\port\rtt\porttimer_m.c</FilePath>
</File>
<File>
<FileName>user_mb_app_m.c</FileName>

View File

@ -5,9 +5,9 @@ I (C:\Program Files\Keil\ARM\RV31\INC\stdlib.h)(0x4BD5D7FE)
I (C:\Program Files\Keil\ARM\RV31\INC\stdio.h)(0x4BA13B96)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -26,7 +26,7 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rcc.h)(0x5313C6B9)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\BSP\inc\bsp.h)(0x5313C6B7)
I (..\BSP\inc\bsp.h)(0x545B158F)
I (..\APP\inc\delay_conf.h)(0x541BD3AC)
I (..\APP\inc\cpuusage.h)(0x5313C6B7)
I (..\FreeModbus\port\user_mb_app.h)(0x5313C6B6)
@ -46,9 +46,9 @@ I (C:\Program Files\Keil\ARM\RV31\INC\stdlib.h)(0x4BD5D7FE)
I (C:\Program Files\Keil\ARM\RV31\INC\stdio.h)(0x4BA13B96)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -67,7 +67,7 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rcc.h)(0x5313C6B9)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\BSP\inc\bsp.h)(0x5313C6B7)
I (..\BSP\inc\bsp.h)(0x545B158F)
I (..\APP\inc\delay_conf.h)(0x541BD3AC)
I (..\APP\inc\cpuusage.h)(0x5313C6B7)
I (..\FreeModbus\port\user_mb_app.h)(0x5313C6B6)
@ -83,7 +83,7 @@ I (..\FreeModbus\modbus\include\mbframe.h)(0x5313C6B8)
I (..\FreeModbus\modbus\include\mbutils.h)(0x5313C6B7)
F (..\APP\src\stm32f10x_it.c)(0x5313C6B7)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\stm32f10x_it.o" --omf_browse ".\Output\stm32f10x_it.crf" --depend ".\Output\stm32f10x_it.d")
I (..\APP\inc\stm32f10x_it.h)(0x5313C6B8)
I (..\BSP\inc\bsp.h)(0x5313C6B7)
I (..\BSP\inc\bsp.h)(0x545B158F)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
I (..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h)(0x5313C6B8)
@ -100,18 +100,18 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\APP\inc\delay_conf.h)(0x541BD3AC)
F (..\APP\inc\delay_conf.h)(0x541BD3AC)()
F (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)()
F (..\APP\inc\rtconfig.h)(0x544E2C43)()
F (..\BSP\src\bsp.c)(0x5313C6B8)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\bsp.o" --omf_browse ".\Output\bsp.crf" --depend ".\Output\bsp.d")
I (..\BSP\inc\bsp.h)(0x5313C6B7)
F (..\APP\inc\rtconfig.h)(0x54576D0D)()
F (..\BSP\src\bsp.c)(0x545B15D4)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\bsp.o" --omf_browse ".\Output\bsp.crf" --depend ".\Output\bsp.d")
I (..\BSP\inc\bsp.h)(0x545B158F)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
I (..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h)(0x5313C6B8)
@ -129,21 +129,50 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\BSP\inc\usart.h)(0x5406D3FE)
F (..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\context_rvds.S)(0x54471BB0)(--cpu Cortex-M3 -g --apcs=interwork -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" --list ".\Output\list\context_rvds.lst" --xref -o ".\Output\context_rvds.o" --depend ".\Output\context_rvds.d")
F (..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c)(0x54471BB0)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\cpuport.o" --omf_browse ".\Output\cpuport.crf" --depend ".\Output\cpuport.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\BSP\src\usart.c)(0x545C7A43)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\usart.o" --omf_browse ".\Output\usart.crf" --depend ".\Output\usart.d")
I (..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h)(0x5313C6B8)
I (..\Libaries\CMSIS_MDK\CM3\CoreSupport\core_cm3.h)(0x5313C6B6)
I (C:\Program Files\Keil\ARM\RV31\INC\stdint.h)(0x4BA13B96)
I (..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dma.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_exti.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_flash.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_gpio.h)(0x5313C6B6)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_iwdg.h)(0x5313C6B6)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_rcc.h)(0x5313C6B9)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_tim.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_usart.h)(0x5313C6B7)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\BSP\inc\usart.h)(0x5406D3FE)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\BSP\inc\bsp.h)(0x545B158F)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
F (..\Libaries\STM32F10x_StdPeriph_Driver\src\misc.c)(0x5313C6B6)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\misc.o" --omf_browse ".\Output\misc.crf" --depend ".\Output\misc.d")
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h)(0x5313C6B8)
@ -530,43 +559,43 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
F (..\RT-Thread-1.2.2\src\clock.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\clock.o" --omf_browse ".\Output\clock.crf" --depend ".\Output\clock.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\cpuusage.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\cpuusage.o" --omf_browse ".\Output\cpuusage.crf" --depend ".\Output\cpuusage.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\device.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\device.o" --omf_browse ".\Output\device.crf" --depend ".\Output\device.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\idle.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\idle.o" --omf_browse ".\Output\idle.crf" --depend ".\Output\idle.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\ipc.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\ipc.o" --omf_browse ".\Output\ipc.crf" --depend ".\Output\ipc.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -574,17 +603,17 @@ I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\irq.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\irq.o" --omf_browse ".\Output\irq.crf" --depend ".\Output\irq.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\kservice.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\kservice.o" --omf_browse ".\Output\kservice.crf" --depend ".\Output\kservice.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -592,53 +621,53 @@ I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\mem.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\mem.o" --omf_browse ".\Output\mem.crf" --depend ".\Output\mem.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\memheap.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\memheap.o" --omf_browse ".\Output\memheap.crf" --depend ".\Output\memheap.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\mempool.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\mempool.o" --omf_browse ".\Output\mempool.crf" --depend ".\Output\mempool.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\module.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\module.o" --omf_browse ".\Output\module.crf" --depend ".\Output\module.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\object.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\object.o" --omf_browse ".\Output\object.crf" --depend ".\Output\object.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\scheduler.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\scheduler.o" --omf_browse ".\Output\scheduler.crf" --depend ".\Output\scheduler.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -646,26 +675,26 @@ I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\slab.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\slab.o" --omf_browse ".\Output\slab.crf" --depend ".\Output\slab.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\thread.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\thread.o" --omf_browse ".\Output\thread.crf" --depend ".\Output\thread.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\src\timer.c)(0x54471BB1)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\timer.o" --omf_browse ".\Output\timer.crf" --depend ".\Output\timer.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -673,61 +702,78 @@ I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\components\drivers\src\completion.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\completion.o" --omf_browse ".\Output\completion.crf" --depend ".\Output\completion.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
F (..\RT-Thread-1.2.2\components\drivers\src\dataqueue.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\dataqueue.o" --omf_browse ".\Output\dataqueue.crf" --depend ".\Output\dataqueue.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
F (..\RT-Thread-1.2.2\components\drivers\src\pipe.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\pipe.o" --omf_browse ".\Output\pipe.crf" --depend ".\Output\pipe.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
F (..\RT-Thread-1.2.2\components\drivers\src\portal.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portal.o" --omf_browse ".\Output\portal.crf" --depend ".\Output\portal.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
F (..\RT-Thread-1.2.2\components\drivers\src\ringbuffer.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\ringbuffer.o" --omf_browse ".\Output\ringbuffer.crf" --depend ".\Output\ringbuffer.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
I (C:\Program Files\Keil\ARM\RV31\INC\string.h)(0x4BA13B9A)
F (..\RT-Thread-1.2.2\components\drivers\src\wrokqueue.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\wrokqueue.o" --omf_browse ".\Output\wrokqueue.crf" --depend ".\Output\wrokqueue.d")
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
F (..\RT-Thread-1.2.2\components\drivers\serial\serial.c)(0x54471BAF)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\serial.o" --omf_browse ".\Output\serial.crf" --depend ".\Output\serial.d")
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
F (..\FreeModbus\modbus\mb.c)(0x5313C6B5)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\mb.o" --omf_browse ".\Output\mb.crf" --depend ".\Output\mb.d")
I (C:\Program Files\Keil\ARM\RV31\INC\stdlib.h)(0x4BD5D7FE)
I (C:\Program Files\Keil\ARM\RV31\INC\string.h)(0x4BA13B9A)
@ -750,9 +796,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -786,9 +832,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -821,9 +867,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -855,9 +901,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -889,9 +935,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -923,9 +969,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -957,9 +1003,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -988,9 +1034,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1018,9 +1064,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1052,15 +1098,15 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
I (C:\Program Files\Keil\ARM\RV31\INC\assert.h)(0x4BA13B9C)
I (C:\Program Files\Keil\ARM\RV31\INC\inttypes.h)(0x4BA25EFA)
F (..\FreeModbus\port\portevent.c)(0x533D0F94)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portevent.o" --omf_browse ".\Output\portevent.crf" --depend ".\Output\portevent.d")
F (..\FreeModbus\port\rtt\portevent.c)(0x533D0F94)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portevent.o" --omf_browse ".\Output\portevent.crf" --depend ".\Output\portevent.d")
I (..\FreeModbus\modbus\include\mb.h)(0x5313C6B6)
I (..\FreeModbus\port\port.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
@ -1081,9 +1127,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1091,7 +1137,7 @@ I (C:\Program Files\Keil\ARM\RV31\INC\assert.h)(0x4BA13B9C)
I (C:\Program Files\Keil\ARM\RV31\INC\inttypes.h)(0x4BA25EFA)
I (..\FreeModbus\modbus\include\mbport.h)(0x533CF721)
I (..\FreeModbus\modbus\include\mbproto.h)(0x5313C6B7)
F (..\FreeModbus\port\portserial.c)(0x53B39742)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portserial.o" --omf_browse ".\Output\portserial.crf" --depend ".\Output\portserial.d")
F (..\FreeModbus\port\rtt\portserial.c)(0x545C7A66)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portserial.o" --omf_browse ".\Output\portserial.crf" --depend ".\Output\portserial.d")
I (..\FreeModbus\port\port.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
@ -1111,9 +1157,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1122,7 +1168,10 @@ I (C:\Program Files\Keil\ARM\RV31\INC\inttypes.h)(0x4BA25EFA)
I (..\FreeModbus\modbus\include\mb.h)(0x5313C6B6)
I (..\FreeModbus\modbus\include\mbport.h)(0x533CF721)
I (..\FreeModbus\modbus\include\mbproto.h)(0x5313C6B7)
F (..\FreeModbus\port\porttimer.c)(0x5313C6B8)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\porttimer.o" --omf_browse ".\Output\porttimer.crf" --depend ".\Output\porttimer.d")
I (..\RT-Thread-1.2.2\components\drivers\include\rtdevice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\components\drivers\include\drivers/serial.h)(0x545C73E4)
I (..\BSP\inc\bsp.h)(0x545B158F)
F (..\FreeModbus\port\rtt\porttimer.c)(0x545B1028)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\porttimer.o" --omf_browse ".\Output\porttimer.crf" --depend ".\Output\porttimer.d")
I (..\FreeModbus\port\port.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
@ -1142,9 +1191,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1175,9 +1224,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1210,9 +1259,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1247,9 +1296,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1284,9 +1333,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1319,9 +1368,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1354,9 +1403,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1389,9 +1438,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1402,7 +1451,7 @@ I (..\FreeModbus\modbus\include\mbport.h)(0x533CF721)
I (..\FreeModbus\modbus\include\mbproto.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mb_m.h)(0x533B8C43)
I (..\FreeModbus\modbus\include\mbframe.h)(0x5313C6B8)
F (..\FreeModbus\port\portevent_m.c)(0x533D0F3D)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portevent_m.o" --omf_browse ".\Output\portevent_m.crf" --depend ".\Output\portevent_m.d")
F (..\FreeModbus\port\rtt\portevent_m.c)(0x533D0F3D)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portevent_m.o" --omf_browse ".\Output\portevent_m.crf" --depend ".\Output\portevent_m.d")
I (..\FreeModbus\modbus\include\mb.h)(0x5313C6B6)
I (..\FreeModbus\port\port.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
@ -1423,9 +1472,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1434,7 +1483,7 @@ I (C:\Program Files\Keil\ARM\RV31\INC\inttypes.h)(0x4BA25EFA)
I (..\FreeModbus\modbus\include\mbport.h)(0x533CF721)
I (..\FreeModbus\modbus\include\mbproto.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mb_m.h)(0x533B8C43)
F (..\FreeModbus\port\portserial_m.c)(0x53B39754)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portserial_m.o" --omf_browse ".\Output\portserial_m.crf" --depend ".\Output\portserial_m.d")
F (..\FreeModbus\port\rtt\portserial_m.c)(0x53B39754)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\portserial_m.o" --omf_browse ".\Output\portserial_m.crf" --depend ".\Output\portserial_m.d")
I (..\FreeModbus\port\port.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
@ -1454,9 +1503,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1465,7 +1514,7 @@ I (C:\Program Files\Keil\ARM\RV31\INC\inttypes.h)(0x4BA25EFA)
I (..\FreeModbus\modbus\include\mb.h)(0x5313C6B6)
I (..\FreeModbus\modbus\include\mbport.h)(0x533CF721)
I (..\FreeModbus\modbus\include\mbproto.h)(0x5313C6B7)
F (..\FreeModbus\port\porttimer_m.c)(0x5313C6B6)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\porttimer_m.o" --omf_browse ".\Output\porttimer_m.crf" --depend ".\Output\porttimer_m.d")
F (..\FreeModbus\port\rtt\porttimer_m.c)(0x5458A000)(-c --cpu Cortex-M3 -g -O0 -Otime --apcs=interwork --split_sections -I..\Libaries\CMSIS_MDK\CM3\CoreSupport -I..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x -I..\Libaries\STM32F10x_StdPeriph_Driver\inc -I..\Libaries\USB-FS-Device_Driver\inc -I..\BSP\inc -I..\APP\inc -I..\RT-Thread-1.2.2\include -I..\RT-Thread-1.2.2\components\drivers\include -I..\RT-Thread-1.2.2\components\drivers\include\drivers -I..\FreeModbus\modbus\include -I..\FreeModbus\modbus\rtu -I..\FreeModbus\port -I "C:\Program Files\Keil\ARM\INC" -I "C:\Program Files\Keil\ARM\INC\ST\STM32F10x" -DUSE_STDPERIPH_DRIVER -DSTM32F10X_MD -o ".\Output\porttimer_m.o" --omf_browse ".\Output\porttimer_m.crf" --depend ".\Output\porttimer_m.d")
I (..\FreeModbus\port\port.h)(0x5313C6B6)
I (..\APP\inc\stm32f10x_conf.h)(0x5313C6B8)
I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h)(0x5313C6B8)
@ -1485,9 +1534,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)
@ -1519,9 +1568,9 @@ I (..\Libaries\STM32F10x_StdPeriph_Driver\inc\misc.h)(0x5313C6B7)
I (..\FreeModbus\modbus\include\mbconfig.h)(0x5313C6B7)
I (..\RT-Thread-1.2.2\include\rthw.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtthread.h)(0x54471BAF)
I (..\APP\inc\rtconfig.h)(0x544E2C43)
I (..\APP\inc\rtconfig.h)(0x54576D0D)
I (..\RT-Thread-1.2.2\include\rtdebug.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtdef.h)(0x545C1075)
I (C:\Program Files\Keil\ARM\RV31\INC\stdarg.h)(0x4BD5D7FE)
I (..\RT-Thread-1.2.2\include\rtservice.h)(0x54471BAF)
I (..\RT-Thread-1.2.2\include\rtm.h)(0x54471BAF)

File diff suppressed because one or more lines are too long

View File

@ -400,11 +400,6 @@
<FileType>1</FileType>
<FilePath>..\APP\src\stm32f10x_it.c</FilePath>
</File>
<File>
<FileName>cpuusage.c</FileName>
<FileType>1</FileType>
<FilePath>..\APP\src\cpuusage.c</FilePath>
</File>
<File>
<FileName>delay_conf.h</FileName>
<FileType>5</FileType>
@ -431,24 +426,14 @@
<FilePath>..\BSP\src\bsp.c</FilePath>
</File>
<File>
<FileName>backtrace.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\common\backtrace.c</FilePath>
</File>
<File>
<FileName>showmem.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\common\showmem.c</FilePath>
<FileName>context_rvds.S</FileName>
<FileType>2</FileType>
<FilePath>..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\context_rvds.S</FilePath>
</File>
<File>
<FileName>cpuport.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\cortex-m3\cpuport.c</FilePath>
</File>
<File>
<FileName>context_rvds.S</FileName>
<FileType>2</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\cortex-m3\context_rvds.S</FilePath>
<FilePath>..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c</FilePath>
</File>
</Files>
</Group>
@ -593,77 +578,117 @@
<File>
<FileName>clock.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\clock.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\clock.c</FilePath>
</File>
<File>
<FileName>cpuusage.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\src\cpuusage.c</FilePath>
</File>
<File>
<FileName>device.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\device.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\device.c</FilePath>
</File>
<File>
<FileName>idle.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\idle.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\idle.c</FilePath>
</File>
<File>
<FileName>ipc.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\ipc.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\ipc.c</FilePath>
</File>
<File>
<FileName>irq.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\irq.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\irq.c</FilePath>
</File>
<File>
<FileName>kservice.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\kservice.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\kservice.c</FilePath>
</File>
<File>
<FileName>mem.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\mem.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\mem.c</FilePath>
</File>
<File>
<FileName>memheap.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\memheap.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\memheap.c</FilePath>
</File>
<File>
<FileName>mempool.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\mempool.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\mempool.c</FilePath>
</File>
<File>
<FileName>module.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\module.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\module.c</FilePath>
</File>
<File>
<FileName>object.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\object.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\object.c</FilePath>
</File>
<File>
<FileName>scheduler.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\scheduler.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\scheduler.c</FilePath>
</File>
<File>
<FileName>slab.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\slab.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\slab.c</FilePath>
</File>
<File>
<FileName>thread.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\thread.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\thread.c</FilePath>
</File>
<File>
<FileName>timer.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\timer.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\timer.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>RT-Thread Drivers</GroupName>
<Files>
<File>
<FileName>completion.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\completion.c</FilePath>
</File>
<File>
<FileName>dataqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\dataqueue.c</FilePath>
</File>
<File>
<FileName>pipe.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\pipe.c</FilePath>
</File>
<File>
<FileName>portal.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\portal.c</FilePath>
</File>
<File>
<FileName>ringbuffer.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\ringbuffer.c</FilePath>
</File>
<File>
<FileName>wrokqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\wrokqueue.c</FilePath>
</File>
</Files>
</Group>
@ -1128,7 +1153,7 @@
</ArmAdsMisc>
<Cads>
<interw>0</interw>
<Optim>2</Optim>
<Optim>1</Optim>
<oTime>1</oTime>
<SplitLS>0</SplitLS>
<OneElfS>1</OneElfS>
@ -1143,7 +1168,7 @@
<MiscControls></MiscControls>
<Define>USE_STDPERIPH_DRIVER,STM32F10X_MD</Define>
<Undefine></Undefine>
<IncludePath>..\Libaries\CMSIS_MDK\CM3\CoreSupport;..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x;..\Libaries\STM32F10x_StdPeriph_Driver\inc;..\Libaries\USB-FS-Device_Driver\inc;..\BSP\inc;..\APP\inc;..\RT-Thread-1.1.1\include;..\RT-Thread-1.1.1\libcpu\arm\stm32;..\FreeModbus\modbus\include;..\FreeModbus\modbus\rtu;..\FreeModbus\port</IncludePath>
<IncludePath>..\Libaries\CMSIS_MDK\CM3\CoreSupport;..\Libaries\CMSIS_MDK\CM3\DeviceSupport\ST\STM32F10x;..\Libaries\STM32F10x_StdPeriph_Driver\inc;..\Libaries\USB-FS-Device_Driver\inc;..\BSP\inc;..\APP\inc;..\RT-Thread-1.2.2\include;..\RT-Thread-1.2.2\components\drivers\include;..\RT-Thread-1.2.2\components\drivers\include\drivers;..\FreeModbus\modbus\include;..\FreeModbus\modbus\rtu;..\FreeModbus\port</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -1198,11 +1223,6 @@
<FileType>1</FileType>
<FilePath>..\APP\src\stm32f10x_it.c</FilePath>
</File>
<File>
<FileName>cpuusage.c</FileName>
<FileType>1</FileType>
<FilePath>..\APP\src\cpuusage.c</FilePath>
</File>
<File>
<FileName>delay_conf.h</FileName>
<FileType>5</FileType>
@ -1229,24 +1249,14 @@
<FilePath>..\BSP\src\bsp.c</FilePath>
</File>
<File>
<FileName>backtrace.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\common\backtrace.c</FilePath>
</File>
<File>
<FileName>showmem.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\common\showmem.c</FilePath>
<FileName>context_rvds.S</FileName>
<FileType>2</FileType>
<FilePath>..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\context_rvds.S</FilePath>
</File>
<File>
<FileName>cpuport.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\cortex-m3\cpuport.c</FilePath>
</File>
<File>
<FileName>context_rvds.S</FileName>
<FileType>2</FileType>
<FilePath>..\RT-Thread-1.1.1\libcpu\arm\cortex-m3\context_rvds.S</FilePath>
<FilePath>..\RT-Thread-1.2.2\libcpu\arm\cortex-m3\cpuport.c</FilePath>
</File>
</Files>
</Group>
@ -1391,77 +1401,117 @@
<File>
<FileName>clock.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\clock.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\clock.c</FilePath>
</File>
<File>
<FileName>cpuusage.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\src\cpuusage.c</FilePath>
</File>
<File>
<FileName>device.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\device.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\device.c</FilePath>
</File>
<File>
<FileName>idle.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\idle.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\idle.c</FilePath>
</File>
<File>
<FileName>ipc.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\ipc.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\ipc.c</FilePath>
</File>
<File>
<FileName>irq.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\irq.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\irq.c</FilePath>
</File>
<File>
<FileName>kservice.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\kservice.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\kservice.c</FilePath>
</File>
<File>
<FileName>mem.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\mem.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\mem.c</FilePath>
</File>
<File>
<FileName>memheap.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\memheap.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\memheap.c</FilePath>
</File>
<File>
<FileName>mempool.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\mempool.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\mempool.c</FilePath>
</File>
<File>
<FileName>module.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\module.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\module.c</FilePath>
</File>
<File>
<FileName>object.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\object.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\object.c</FilePath>
</File>
<File>
<FileName>scheduler.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\scheduler.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\scheduler.c</FilePath>
</File>
<File>
<FileName>slab.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\slab.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\slab.c</FilePath>
</File>
<File>
<FileName>thread.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\thread.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\thread.c</FilePath>
</File>
<File>
<FileName>timer.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.1.1\src\timer.c</FilePath>
<FilePath>..\RT-Thread-1.2.2\src\timer.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>RT-Thread Drivers</GroupName>
<Files>
<File>
<FileName>completion.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\completion.c</FilePath>
</File>
<File>
<FileName>dataqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\dataqueue.c</FilePath>
</File>
<File>
<FileName>pipe.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\pipe.c</FilePath>
</File>
<File>
<FileName>portal.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\portal.c</FilePath>
</File>
<File>
<FileName>ringbuffer.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\ringbuffer.c</FilePath>
</File>
<File>
<FileName>wrokqueue.c</FileName>
<FileType>1</FileType>
<FilePath>..\RT-Thread-1.2.2\components\drivers\src\wrokqueue.c</FilePath>
</File>
</Files>
</Group>

File diff suppressed because it is too large Load Diff