20119JISUANJIYUXIANDAIHUA1931006-2475201109-0061-042011-04-111985-1953-1987-。ARMCortex-M3450001ARMCortex-M3。IAREWARM。。ARMCortex-M3IAREWARMTP393Adoi10.3969/j.issn.1006-2475.2011.09.018DesignofIntelligentDataAcquisitionTerminalBasedonARMCortex-M3WANGJian-huiLIZheng-minLIUWei-weiCollegeofInformationEngineeringZhengzhouUniversityZhengzhou450001ChinaAbstractThispaperdesignsandimplementsapowerintelligentdataacquisitionterminalbasedonARMCortex-M3processorcore.Thesoftwareandhardwarepartsoftheintelligentterminalareintroducedindetail.ThisterminalchoosestheIAREWARMasthesystemdevelopmentplatform.Itcanshortenthedevelopmentcycleandalsoimprovethesystemstability.Testshowsthatthesystemislower-powercost-effectiveeasytoexpandfunctionsaswellaseasytopromoteuse.KeywordsARMCortex-M3dataacquisitionterminalIAREWARM01。2-4。IARμC/OS-IIARMARMCortex-M35-7。18-9、RS485、LED、JTAG1。。11CPU。NXPLPC1768ARMCortex-M36220119NXP-LPC175810-12ARM100MHz512kB、64kB。LPC1758MPU。LPC1768、、Thumb-245%。2RS485。、LPC17584UART。RS-485、32RS48510Mbps120RS-232、、。RS-485RS485。3。FLASHSDRAMFLASH1M×16bitSST39VF160SDRAM24Banks×1M×16bitHY57V641620HG。322SDRAM。4LED。4LED、、、、、。5JTAG。J-LinkARMJTAGJ-Link。22.1、。。CPU。、、。RTOS。RTOS。RTOSRTOS。RTOSμC/OS-II、。μC/OS-II12。2.2IARSystemsARMIAREmbeddedWorkbenchforARMIAREWARMIAREmbeddedWorkbenchIDE、、、。IARC-SPY20119ARMCortex-M363IARJ-Link。J-Link。IAREWARMARMCortex-M3μC/OS-II。μC/OS-II、、RTOS14。μC/OS-II64、、、、、、。864μC/OS-II、、。2.3、、、、。。μC/OS-IIμC/OS-II。、、、。RS-485、。ARMCortex-M3UART。、、。UART。LPC1768UART。voidUartColInitializeU32baudRate…pclk_freq=BSP_PM_PerClkFreqGetBSP_PM_PER_NBR_UARTx//div=CPU_INT16U2*pclk_freq/16/baudRate+1/2//divlo=div&0x00FF//divhi=div>>8&0x00FF//BSP_GPIO_CfgBSP_GPIO_PORT0_FASTBSP_SER_Ux_PINSBSP_GPIO_OPT_FNCT//UARTI/OBSP_SER_REG_Ux_LCR=DEF_BIT_07//BSP_SER_REG_Ux_DLL=divlo//BSP_SER_REG_Ux_DLM=divhiBSP_SER_REG_Ux_LCR=3<<0|//80<<2|//11<<3|//11<<4|//0BSP_SER_REG_Ux_IER=0x01//BSP_SER_REG_Ux_FDR=DEF_BIT_NONEBSP_SER_REG_Ux_FCR=DEF_BIT_00//FIFOBSP_IntEnBSP_INT_SRC_NBR_UART、。645。。1。、。DL/T-6451~4FEH。。6420119FEH。2645。DL/T-645-1997DL/T-645-2007。、、、。3。。tRcvBuf。typedefstructuint8RcvBufMAX_Rcv_Buf_LENGTH//UARTuint8RcvWrPt//UARTuint8RcvRdPt//UARTuint8RcvState//UARTuint8RcvProtocolType//UART645uint8RcvOvertimeCnt//UART645//uint8RcvTmpLen//UARTuint8RcvTmpMaxDataLen//UARTtRcvBuf。3、、ARMCortex-M3IARμC/OS-II、。、、。1.J.200424695-97.2.M.2003.3.M.2004.4.ARMM.2004.5.ARMJ.200839499-101.6.ARMJ.2005251185-88.7.ARMμCLinuxJ.20043023156-158.8.ARMJ.200525546-49.9.ARMμC/OS-IID.2009.10.ARMM.2002.11.ARMCortex-M3J.200835472-75.12.ARMM.2001.13.ARMμC/OS-IID.2009.14LabrosseJJ.μC/OS-IIM..2003.