资源简介

上次的程序由于串口2USART2.c文件里串口2中断函数对数据的处理中没有对0x0a和0x0D进行判断,因此只有串口一是可以正常用的,这次的程序我对串口2中断函数进行了修改,完全按照串口一的处理,同时保留了u2_printf函数可用于和单片机向测距模块传送字符串;另外按照相同的模式,扩展了串口三,也是串口一中断的方法,扩展了u3_printf函数。 因此可以用三个串口中任何一个使单片机与上位机通信,另外两个各接一个激光测距模块,可以同时监控两个测距模块,实际做小车等机器人时,三个串口都可以接激光测距模块,这样可以同时搞三个,如果还想扩展,可以按照相同方法加入新的串口。程序完全自己写的,也是在网上没找到stm32的实现例程,淘宝卖家说只有用Arduino的程序,所以就自己写了,希望用这个模块的人都能看到。

资源截图

代码片段和文件信息

/**************************************************************************//**
 * @file     core_cm3.c
 * @brief    CMSIS Cortex-M3 Core Peripheral Access layer Source File
 * @version  V1.30
 * @date     30. October 2009
 *
 * @note
 * Copyright (C) 2009 ARM Limited. All rights reserved.
 *
 * @par
 * ARM Limited (ARM) is supplying this software for use with Cortex-M 
 * processor based microcontrollers.  This file can be freely distributed 
 * within development tools that are supporting such ARM based processors. 
 *
 * @par
 * THIS SOFTWARE IS PROVIDED “AS IS“.  NO WARRANTIES WHETHER EXPRESS IMPLIED
 * OR STATUTORY INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
 * ARM SHALL NOT IN ANY CIRCUMSTANCES BE LIABLE FOR SPECIAL INCIDENTAL OR
 * CONSEQUENTIAL DAMAGES FOR ANY REASON WHATSOEVER.
 *
 ******************************************************************************/

#include 

/* define compiler specific symbols */
#if defined ( __CC_ARM   )
  #define __ASM            __asm                                      /*!< asm keyword for ARM Compiler          */
  #define __INLINE         __inline                                   /*!< inline keyword for ARM Compiler       */

#elif defined ( __ICCARM__ )
  #define __ASM           __asm                                       /*!< asm keyword for IAR Compiler          */
  #define __INLINE        inline                                      /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */

#elif defined   (  __GNUC__  )
  #define __ASM            __asm                                      /*!< asm keyword for GNU Compiler          */
  #define __INLINE         inline                                     /*!< inline keyword for GNU Compiler       */

#elif defined   (  __TASKING__  )
  #define __ASM            __asm                                      /*!< asm keyword for TASKING Compiler      */
  #define __INLINE         inline                                     /*!< inline keyword for TASKING Compiler   */

#endif


/* ###################  Compiler specific Intrinsics  ########################### */

#if defined ( __CC_ARM   ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */

/**
 * @brief  Return the Process Stack Pointer
 *
 * @return ProcessStackPointer
 *
 * Return the actual process stack pointer
 */
__ASM uint32_t __get_PSP(void)
{
  mrs r0 psp
  bx lr
}

/**
 * @brief  Set the Process Stack Pointer
 *
 * @param  topOfProcStack  Process Stack Pointer
 *
 * Assign the value ProcessStackPointer to the MSP 
 * (process stack pointer) Cortex processor register
 */
__ASM void __set_PSP(uint32_t topOfProcStack)
{
  msr psp r0
  bx lr
}

/**
 * @brief  Return the Main Stack Pointer
 *
 * @return Main Stack Pointer
 *
 * Return the curren

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     1677899  2018-10-27 15:40  tof10120\tof10120.pdf
     目录           0  2018-10-28 01:05  tof10120\双路激光加上位机读取\
     目录           0  2018-10-13 15:29  tof10120\双路激光加上位机读取\CORE\
     文件       17273  2010-06-07 10:25  tof10120\双路激光加上位机读取\CORE\core_cm3.c
     文件       85714  2011-02-09 14:59  tof10120\双路激光加上位机读取\CORE\core_cm3.h
     文件       15503  2011-03-10 10:52  tof10120\双路激光加上位机读取\CORE\startup_stm32f10x_hd.s
     文件       12765  2011-03-10 10:52  tof10120\双路激光加上位机读取\CORE\startup_stm32f10x_md.s
     目录           0  2018-10-27 23:55  tof10120\双路激光加上位机读取\HARDWARE\
     目录           0  2018-10-13 15:29  tof10120\双路激光加上位机读取\HARDWARE\HC05\
     文件        4690  2014-07-16 20:31  tof10120\双路激光加上位机读取\HARDWARE\HC05\hc05.c
     文件         968  2014-03-30 12:21  tof10120\双路激光加上位机读取\HARDWARE\HC05\hc05.h
     目录           0  2018-10-13 15:29  tof10120\双路激光加上位机读取\HARDWARE\KEY\
     文件        1975  2014-03-24 19:07  tof10120\双路激光加上位机读取\HARDWARE\KEY\key.c
     文件        1013  2014-03-20 20:30  tof10120\双路激光加上位机读取\HARDWARE\KEY\key.h
     目录           0  2018-10-13 15:29  tof10120\双路激光加上位机读取\HARDWARE\LCD\
     文件       35016  2014-01-02 17:22  tof10120\双路激光加上位机读取\HARDWARE\LCD\FONT.H
     文件       85631  2015-08-12 17:14  tof10120\双路激光加上位机读取\HARDWARE\LCD\lcd.c
     文件        8193  2015-08-12 17:12  tof10120\双路激光加上位机读取\HARDWARE\LCD\lcd.h
     目录           0  2018-10-13 15:29  tof10120\双路激光加上位机读取\HARDWARE\LED\
     文件        1301  2014-03-20 20:13  tof10120\双路激光加上位机读取\HARDWARE\LED\led.c
     文件         640  2014-03-20 19:03  tof10120\双路激光加上位机读取\HARDWARE\LED\led.h
     目录           0  2018-10-28 00:59  tof10120\双路激光加上位机读取\HARDWARE\USART2\
     文件        6009  2018-10-28 00:59  tof10120\双路激光加上位机读取\HARDWARE\USART2\usart2.c
     文件        1240  2014-07-16 12:08  tof10120\双路激光加上位机读取\HARDWARE\USART2\usart2.h
     目录           0  2018-10-28 01:01  tof10120\双路激光加上位机读取\HARDWARE\USART3\
     文件        6017  2018-10-28 01:01  tof10120\双路激光加上位机读取\HARDWARE\USART3\usart3.c
     文件        1184  2018-10-28 00:14  tof10120\双路激光加上位机读取\HARDWARE\USART3\usart3.h
     文件         399  2011-04-23 10:24  tof10120\双路激光加上位机读取\keilkilll.bat
     目录           0  2018-10-28 01:05  tof10120\双路激光加上位机读取\OBJ\
     文件      353432  2018-10-28 01:05  tof10120\双路激光加上位机读取\OBJ\ATK-HC05.axf
     文件        1759  2018-10-28 01:05  tof10120\双路激光加上位机读取\OBJ\ATK-HC05.build_log.htm
............此处省略142个文件信息

评论

共有 条评论