串口通信USART1&3.zip
大小:6.7MB
价格:17积分
下载量:0
评分:
5.0
上传者:2301_80015907
更新日期:2024-08-28

【基于江科大教程】stm32f103c8t6同时开启2个串口通信USART1和USART3,代码基于标准库可直接使用

资源文件列表(大概)

文件名
大小
串口通信USART1&3/
-
串口通信USART1&3/DebugConfig/
-
串口通信USART1&3/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf
6.79KB
串口通信USART1&3/Hardware/
-
串口通信USART1&3/Hardware/Key.c
818B
串口通信USART1&3/Hardware/Key.h
95B
串口通信USART1&3/Hardware/LED.c
1.03KB
串口通信USART1&3/Hardware/LED.h
200B
串口通信USART1&3/Hardware/OLED.c
7.72KB
串口通信USART1&3/Hardware/OLED.h
567B
串口通信USART1&3/Hardware/OLED_Font.h
8.94KB
串口通信USART1&3/Hardware/Serial1.c
3.28KB
串口通信USART1&3/Hardware/Serial1.h
405B
串口通信USART1&3/Hardware/Serial3.c
3.89KB
串口通信USART1&3/Hardware/Serial3.h
405B
串口通信USART1&3/keilkill.bat
399B
串口通信USART1&3/Library/
-
串口通信USART1&3/Library/misc.c
6.88KB
串口通信USART1&3/Library/misc.h
8.77KB
串口通信USART1&3/Library/stm32f10x_adc.c
46.09KB
串口通信USART1&3/Library/stm32f10x_adc.h
21.18KB
串口通信USART1&3/Library/stm32f10x_bkp.c
8.26KB
串口通信USART1&3/Library/stm32f10x_bkp.h
7.38KB
串口通信USART1&3/Library/stm32f10x_can.c
44.05KB
串口通信USART1&3/Library/stm32f10x_can.h
26.91KB
串口通信USART1&3/Library/stm32f10x_cec.c
11.38KB
串口通信USART1&3/Library/stm32f10x_cec.h
6.42KB
串口通信USART1&3/Library/stm32f10x_crc.c
3.27KB
串口通信USART1&3/Library/stm32f10x_crc.h
2.11KB
串口通信USART1&3/Library/stm32f10x_dac.c
18.64KB
串口通信USART1&3/Library/stm32f10x_dac.h
14.88KB
串口通信USART1&3/Library/stm32f10x_dbgmcu.c
5.03KB
串口通信USART1&3/Library/stm32f10x_dbgmcu.h
3.73KB
串口通信USART1&3/Library/stm32f10x_dma.c
28.91KB
串口通信USART1&3/Library/stm32f10x_dma.h
20.27KB
串口通信USART1&3/Library/stm32f10x_exti.c
6.8KB
串口通信USART1&3/Library/stm32f10x_exti.h
6.66KB
串口通信USART1&3/Library/stm32f10x_flash.c
61.08KB
串口通信USART1&3/Library/stm32f10x_flash.h
24.85KB
串口通信USART1&3/Library/stm32f10x_fsmc.c
34.65KB
串口通信USART1&3/Library/stm32f10x_fsmc.h
26.38KB
串口通信USART1&3/Library/stm32f10x_gpio.c
22.68KB
串口通信USART1&3/Library/stm32f10x_gpio.h
19.7KB
串口通信USART1&3/Library/stm32f10x_i2c.c
44.71KB
串口通信USART1&3/Library/stm32f10x_i2c.h
29.33KB
串口通信USART1&3/Library/stm32f10x_iwdg.c
4.8KB
串口通信USART1&3/Library/stm32f10x_iwdg.h
3.74KB
串口通信USART1&3/Library/stm32f10x_pwr.c
8.55KB
串口通信USART1&3/Library/stm32f10x_pwr.h
4.28KB
串口通信USART1&3/Library/stm32f10x_rcc.c
50.07KB
串口通信USART1&3/Library/stm32f10x_rcc.h
29.74KB
串口通信USART1&3/Library/stm32f10x_rtc.c
8.4KB
串口通信USART1&3/Library/stm32f10x_rtc.h
3.77KB
串口通信USART1&3/Library/stm32f10x_sdio.c
28.25KB
串口通信USART1&3/Library/stm32f10x_sdio.h
21.35KB
串口通信USART1&3/Library/stm32f10x_spi.c
29.52KB
串口通信USART1&3/Library/stm32f10x_spi.h
17.31KB
串口通信USART1&3/Library/stm32f10x_tim.c
106.6KB
串口通信USART1&3/Library/stm32f10x_tim.h
51.2KB
串口通信USART1&3/Library/stm32f10x_usart.c
37.41KB
串口通信USART1&3/Library/stm32f10x_usart.h
16.16KB
串口通信USART1&3/Library/stm32f10x_wwdg.c
5.6KB
串口通信USART1&3/Library/stm32f10x_wwdg.h
2.9KB
串口通信USART1&3/Listings/
-
串口通信USART1&3/Listings/Project.map
94.17KB
串口通信USART1&3/Listings/startup_stm32f10x_md.lst
39.42KB
串口通信USART1&3/Objects/
-
串口通信USART1&3/Objects/core_cm3.crf
3.85KB
串口通信USART1&3/Objects/core_cm3.d
106B
串口通信USART1&3/Objects/core_cm3.o
10.95KB
串口通信USART1&3/Objects/delay.crf
338.11KB
串口通信USART1&3/Objects/delay.d
1.34KB
串口通信USART1&3/Objects/delay.o
371.96KB
串口通信USART1&3/Objects/key.crf
338.47KB
串口通信USART1&3/Objects/key.d
1.31KB
串口通信USART1&3/Objects/key.o
371.86KB
串口通信USART1&3/Objects/led.crf
338.57KB
串口通信USART1&3/Objects/led.d
1.28KB
串口通信USART1&3/Objects/led.o
377.24KB
串口通信USART1&3/Objects/main.crf
346.82KB
串口通信USART1&3/Objects/main.d
1.61KB
串口通信USART1&3/Objects/main.o
377.9KB
串口通信USART1&3/Objects/misc.crf
338.78KB
串口通信USART1&3/Objects/misc.d
1.34KB
串口通信USART1&3/Objects/misc.o
375.04KB
串口通信USART1&3/Objects/oled.crf
341.39KB
串口通信USART1&3/Objects/oled.d
1.35KB
串口通信USART1&3/Objects/oled.o
395.75KB
串口通信USART1&3/Objects/Project.axf
316.92KB
串口通信USART1&3/Objects/Project.build_log.htm
1.58KB
串口通信USART1&3/Objects/Project.htm
38.2KB
串口通信USART1&3/Objects/Project.lnp
1.2KB
串口通信USART1&3/Objects/Project.sct
494B
串口通信USART1&3/Objects/Project_sct.Bak
479B
串口通信USART1&3/Objects/Project_Target 1.dep
55.01KB
串口通信USART1&3/Objects/serial.crf
344.52KB
串口通信USART1&3/Objects/serial.d
1.49KB
串口通信USART1&3/Objects/serial.o
384.98KB
串口通信USART1&3/Objects/serial1.crf
344.56KB
串口通信USART1&3/Objects/serial1.d
1.53KB
串口通信USART1&3/Objects/serial1.o
386KB
串口通信USART1&3/Objects/serial3.crf
344.55KB
串口通信USART1&3/Objects/serial3.d
1.53KB
串口通信USART1&3/Objects/serial3.o
386.02KB
串口通信USART1&3/Objects/startup_stm32f10x_md.d
64B
串口通信USART1&3/Objects/startup_stm32f10x_md.o
5.75KB
串口通信USART1&3/Objects/stm32f10x_adc.crf
345.79KB
串口通信USART1&3/Objects/stm32f10x_adc.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_adc.o
421.58KB
串口通信USART1&3/Objects/stm32f10x_bkp.crf
339.7KB
串口通信USART1&3/Objects/stm32f10x_bkp.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_bkp.o
384.8KB
串口通信USART1&3/Objects/stm32f10x_can.crf
347.36KB
串口通信USART1&3/Objects/stm32f10x_can.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_can.o
406.91KB
串口通信USART1&3/Objects/stm32f10x_cec.crf
340.24KB
串口通信USART1&3/Objects/stm32f10x_cec.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_cec.o
387.4KB
串口通信USART1&3/Objects/stm32f10x_crc.crf
338.35KB
串口通信USART1&3/Objects/stm32f10x_crc.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_crc.o
376.05KB
串口通信USART1&3/Objects/stm32f10x_dac.crf
340.37KB
串口通信USART1&3/Objects/stm32f10x_dac.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_dac.o
385.43KB
串口通信USART1&3/Objects/stm32f10x_dbgmcu.crf
338.14KB
串口通信USART1&3/Objects/stm32f10x_dbgmcu.d
1.73KB
串口通信USART1&3/Objects/stm32f10x_dbgmcu.o
372.17KB
串口通信USART1&3/Objects/stm32f10x_dma.crf
341.82KB
串口通信USART1&3/Objects/stm32f10x_dma.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_dma.o
384.88KB
串口通信USART1&3/Objects/stm32f10x_exti.crf
339.33KB
串口通信USART1&3/Objects/stm32f10x_exti.d
1.66KB
串口通信USART1&3/Objects/stm32f10x_exti.o
379.1KB
串口通信USART1&3/Objects/stm32f10x_flash.crf
345.63KB
串口通信USART1&3/Objects/stm32f10x_flash.d
1.7KB
串口通信USART1&3/Objects/stm32f10x_flash.o
410.54KB
串口通信USART1&3/Objects/stm32f10x_fsmc.crf
344.17KB
串口通信USART1&3/Objects/stm32f10x_fsmc.d
1.66KB
串口通信USART1&3/Objects/stm32f10x_fsmc.o
396.22KB
串口通信USART1&3/Objects/stm32f10x_gpio.crf
342.2KB
串口通信USART1&3/Objects/stm32f10x_gpio.d
1.66KB
串口通信USART1&3/Objects/stm32f10x_gpio.o
395.07KB
串口通信USART1&3/Objects/stm32f10x_i2c.crf
344.57KB
串口通信USART1&3/Objects/stm32f10x_i2c.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_i2c.o
415.79KB
串口通信USART1&3/Objects/stm32f10x_it.crf
338.27KB
串口通信USART1&3/Objects/stm32f10x_it.d
1.59KB
串口通信USART1&3/Objects/stm32f10x_it.o
379.81KB
串口通信USART1&3/Objects/stm32f10x_iwdg.crf
338.45KB
串口通信USART1&3/Objects/stm32f10x_iwdg.d
1.66KB
串口通信USART1&3/Objects/stm32f10x_iwdg.o
376.03KB
串口通信USART1&3/Objects/stm32f10x_pwr.crf
339.61KB
串口通信USART1&3/Objects/stm32f10x_pwr.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_pwr.o
380.7KB
串口通信USART1&3/Objects/stm32f10x_rcc.crf
345.69KB
串口通信USART1&3/Objects/stm32f10x_rcc.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_rcc.o
414.56KB
串口通信USART1&3/Objects/stm32f10x_rtc.crf
339.61KB
串口通信USART1&3/Objects/stm32f10x_rtc.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_rtc.o
386.94KB
串口通信USART1&3/Objects/stm32f10x_sdio.crf
342.8KB
串口通信USART1&3/Objects/stm32f10x_sdio.d
1.66KB
串口通信USART1&3/Objects/stm32f10x_sdio.o
409.4KB
串口通信USART1&3/Objects/stm32f10x_spi.crf
342.66KB
串口通信USART1&3/Objects/stm32f10x_spi.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_spi.o
401.49KB
串口通信USART1&3/Objects/stm32f10x_tim.crf
360.35KB
串口通信USART1&3/Objects/stm32f10x_tim.d
1.63KB
串口通信USART1&3/Objects/stm32f10x_tim.o
499.58KB
串口通信USART1&3/Objects/stm32f10x_usart.crf
344.26KB
串口通信USART1&3/Objects/stm32f10x_usart.d
1.7KB
串口通信USART1&3/Objects/stm32f10x_usart.o
410.63KB
串口通信USART1&3/Objects/stm32f10x_wwdg.crf
338.89KB
串口通信USART1&3/Objects/stm32f10x_wwdg.d
1.66KB
串口通信USART1&3/Objects/stm32f10x_wwdg.o
378.93KB
串口通信USART1&3/Objects/system_stm32f10x.crf
339.93KB
串口通信USART1&3/Objects/system_stm32f10x.d
1.66KB
串口通信USART1&3/Objects/system_stm32f10x.o
374.41KB
串口通信USART1&3/Project.uvguix.29874
91.44KB
串口通信USART1&3/Project.uvguix.Admin
170.17KB
串口通信USART1&3/Project.uvoptx
32.21KB
串口通信USART1&3/Project.uvprojx
26.57KB
串口通信USART1&3/Start/
-
串口通信USART1&3/Start/core_cm3.c
16.87KB
串口通信USART1&3/Start/core_cm3.h
83.71KB
串口通信USART1&3/Start/startup_stm32f10x_cl.s
15.4KB
串口通信USART1&3/Start/startup_stm32f10x_hd.s
15.14KB
串口通信USART1&3/Start/startup_stm32f10x_hd_vl.s
15.32KB
串口通信USART1&3/Start/startup_stm32f10x_ld.s
12.09KB
串口通信USART1&3/Start/startup_stm32f10x_ld_vl.s
13.34KB
串口通信USART1&3/Start/startup_stm32f10x_md.s
12.47KB
串口通信USART1&3/Start/startup_stm32f10x_md_vl.s
13.74KB
串口通信USART1&3/Start/startup_stm32f10x_xl.s
15.58KB
串口通信USART1&3/Start/stm32f10x.h
619.08KB
串口通信USART1&3/Start/system_stm32f10x.c
35.7KB
串口通信USART1&3/Start/system_stm32f10x.h
2.04KB
串口通信USART1&3/System/
-
串口通信USART1&3/System/Delay.c
838B
串口通信USART1&3/System/Delay.h
135B
串口通信USART1&3/User/
-
串口通信USART1&3/User/main.c
1.47KB
串口通信USART1&3/User/stm32f10x_conf.h
3.18KB
串口通信USART1&3/User/stm32f10x_it.c
4.3KB
串口通信USART1&3/User/stm32f10x_it.h
2.04KB

资源内容介绍

注意:1、串口1的波特率最高可达115200,串口3的波特率最高只可达9600。2、该源码为串口收发文本数据包。3、数据包无需包头,包为需以/n结尾。
/** ****************************************************************************** * @file stm32f10x_tim.c * @author MCD Application Team * @version V3.5.0 * @date 11-March-2011 * @brief This file provides all the TIM firmware functions. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2> ****************************************************************************** */#include "stm32f10x_tim.h"#include "stm32f10x_rcc.h"/** @addtogroup STM32F10x_StdPeriph_Driver * @{ *//** @defgroup TIM * @brief TIM driver modules * @{ *//** @defgroup TIM_Private_TypesDefinitions * @{ *//** * @} *//** @defgroup TIM_Private_Defines * @{ */#define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018)#define CCER_CCE_Set ((uint16_t)0x0001) #defineCCER_CCNE_Set ((uint16_t)0x0004) /** * @} *//** @defgroup TIM_Private_Macros * @{ *//** * @} *//** @defgroup TIM_Private_Variables * @{ *//** * @} *//** @defgroup TIM_Private_FunctionPrototypes * @{ */static void TI1_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);static void TI2_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);static void TI3_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);static void TI4_Config(TIM_TypeDef* TIMx, uint16_t TIM_ICPolarity, uint16_t TIM_ICSelection, uint16_t TIM_ICFilter);/** * @} *//** @defgroup TIM_Private_Macros * @{ *//** * @} *//** @defgroup TIM_Private_Variables * @{ *//** * @} *//** @defgroup TIM_Private_FunctionPrototypes * @{ *//** * @} *//** @defgroup TIM_Private_Functions * @{ *//** * @brief Deinitializes the TIMx peripheral registers to their default reset values. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @retval None */void TIM_DeInit(TIM_TypeDef* TIMx){ assert_param(IS_TIM_ALL_PERIPH(TIMx)); if (TIMx == TIM1) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM1, DISABLE); } else if (TIMx == TIM2) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM2, DISABLE); } else if (TIMx == TIM3) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM3, DISABLE); } else if (TIMx == TIM4) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM4, DISABLE); } else if (TIMx == TIM5) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM5, DISABLE); } else if (TIMx == TIM6) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM6, DISABLE); } else if (TIMx == TIM7) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM7, DISABLE); } else if (TIMx == TIM8) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM8, DISABLE); } else if (TIMx == TIM9) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM9, DISABLE); } else if (TIMx == TIM10) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM10, DISABLE); } else if (TIMx == TIM11) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM11, DISABLE); } else if (TIMx == TIM12) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM12, DISABLE); } else if (TIMx == TIM13) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM13, DISABLE); } else if (TIMx == TIM14) { RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, ENABLE); RCC_APB1PeriphResetCmd(RCC_APB1Periph_TIM14, DISABLE); } else if (TIMx == TIM15) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM15, DISABLE); } else if (TIMx == TIM16) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM16, DISABLE); } else { if (TIMx == TIM17) { RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, ENABLE); RCC_APB2PeriphResetCmd(RCC_APB2Periph_TIM17, DISABLE); } }}/** * @brief Initializes the TIMx Time Base Unit peripheral according to * the specified parameters in the TIM_TimeBaseInitStruct. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @param TIM_TimeBaseInitStruct: pointer to a TIM_TimeBaseInitTypeDef * structure that contains the configuration information for the * specified TIM peripheral. * @retval None */void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct){ uint16_t tmpcr1 = 0; assert_param(IS_TIM_ALL_PERIPH(TIMx)); assert_param(IS_TIM_COUNTER_MODE(TIM_TimeBaseInitStruct->TIM_CounterMode)); assert_param(IS_TIM_CKD_DIV(TIM_TimeBaseInitStruct->TIM_ClockDivision)); tmpcr1 = TIMx->CR1; if((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM2) || (TIMx == TIM3)|| (TIMx == TIM4) || (TIMx == TIM5)) { tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } TIMx->EGR = TIM_PSCReloadMode_Immediate; }/** * @brief Initializes the TIMx Channel1 according to the specified * parameters in the TIM_OCInitStruct. * @param TIMx: where x can be 1 to 17 except 6 and 7 to select the TIM peripheral. * @param TIM_OCInitStru

用户评论 (0)

发表评论

captcha