IIC协议LM75A温度驱动程序

  • t6_164641
    了解作者
  • 4.5MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-07 12:54
    上传日期
基于STM32F103的IIC软件模拟,LM75A温度驱动程序源码,keil打开可直接运行。
stm32f103_原子版i2c_lm75a.zip
  • stm32f103_原子版i2c_lm75a
  • STM32_lib
  • inc
  • stm32f10x_rtc.h
    3.8KB
  • stm32f10x_cec.h
    6.4KB
  • stm32f10x_iwdg.h
    3.7KB
  • stm32f10x_tim.h
    51.2KB
  • stm32f10x_bkp.h
    7.4KB
  • stm32f10x_exti.h
    6.7KB
  • stm32f10x_flash.h
    24.8KB
  • stm32f10x_dma.h
    20.3KB
  • stm32f10x_spi.h
    17.3KB
  • stm32f10x_fsmc.h
    26.4KB
  • stm32f10x_wwdg.h
    2.9KB
  • stm32f10x_sdio.h
    21.4KB
  • stm32f10x_rcc.h
    29.7KB
  • stm32f10x_adc.h
    21.2KB
  • stm32f10x_crc.h
    2.1KB
  • stm32f10x_dac.h
    14.9KB
  • stm32f10x_usart.h
    16.2KB
  • stm32f10x_dbgmcu.h
    3.7KB
  • stm32f10x_can.h
    26.9KB
  • stm32f10x_pwr.h
    4.3KB
  • stm32f10x_i2c.h
    29.3KB
  • stm32f10x_gpio.h
    19.7KB
  • misc.h
    8.8KB
  • src
  • stm32f10x_dac.c
    18.6KB
  • stm32f10x_i2c.c
    44.7KB
  • stm32f10x_dma.c
    28.9KB
  • stm32f10x_spi.c
    29.5KB
  • stm32f10x_can.c
    44KB
  • stm32f10x_rtc.c
    8.4KB
  • stm32f10x_wwdg.c
    5.6KB
  • stm32f10x_rcc.c
    50.1KB
  • stm32f10x_bkp.c
    8.3KB
  • stm32f10x_usart.c
    37.4KB
  • stm32f10x_sdio.c
    28.3KB
  • stm32f10x_fsmc.c
    34.7KB
  • stm32f10x_flash.c
    61.1KB
  • stm32f10x_adc.c
    46.1KB
  • stm32f10x_exti.c
    6.8KB
  • stm32f10x_cec.c
    11.4KB
  • stm32f10x_dbgmcu.c
    5KB
  • misc.c
    7KB
  • stm32f10x_gpio.c
    22.7KB
  • stm32f10x_tim.c
    106.6KB
  • stm32f10x_crc.c
    3.3KB
  • stm32f10x_pwr.c
    8.6KB
  • stm32f10x_iwdg.c
    4.8KB
  • sys
  • sys.h
    2.2KB
  • sys.c
    163B
  • delay.h
    1015B
  • usart.c
    5KB
  • usart.h
    1.3KB
  • delay.c
    4.5KB
  • USER
  • system_stm32f10x.h
    2KB
  • stm32f10x_it.c
    4.3KB
  • stm32f10x.h
    619.1KB
  • stm32f10x_it.h
    2KB
  • stm32f10x_conf.h
    3.2KB
  • system_stm32f10x.c
    35.7KB
  • start
  • core_cm3.h
    83.7KB
  • core_cm3.c
    16.9KB
  • startup_stm32f10x_ld.s
    12.1KB
  • startup_stm32f10x_hd_vl.s
    15.3KB
  • startup_stm32f10x_ld_vl.s
    13.3KB
  • startup_stm32f10x_md_vl.s
    13.7KB
  • startup_stm32f10x_cl.s
    15.4KB
  • startup_stm32f10x_xl.s
    15.6KB
  • startup_stm32f10x_md.s
    12.5KB
  • startup_stm32f10x_hd.s
    15.1KB
  • Listings
  • startup_stm32f10x_md.lst
    40.4KB
  • i2c_lm75a.map
    138.4KB
  • Objects
  • stm32f10x_exti.d
    683B
  • stm32f10x_spi.o
    293.5KB
  • stm32f10x_crc.crf
    240.6KB
  • stm32f10x_dma.crf
    249.9KB
  • stm32f10x_i2c.o
    308.4KB
  • misc.d
    543B
  • stm32f10x_it.d
    629B
  • stm32f10x_fsmc.crf
    253.8KB
  • stm32f10x_dac.crf
    246KB
  • stm32f10x_adc.o
    315.1KB
  • stm32f10x_pwr.o
    268KB
  • misc.o
    260.4KB
  • stm32f10x_crc.d
    669B
  • delay.o
    260.8KB
  • stm32f10x_gpio.d
    683B
  • stm32f10x_sdio.d
    683B
  • stm32f10x_fsmc.d
    683B
  • stm32f10x_dac.o
    275.6KB
  • stm32f10x_wwdg.d
    683B
  • stm32f10x_bkp.o
    273.5KB
  • i2c_ee.crf
    244.9KB
内容介绍
/** ****************************************************************************** * @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> ****************************************************************************** */ /* Includes ------------------------------------------------------------------*/ #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 * @{ */ /* ---------------------- TIM registers bit mask ------------------------ */ #define SMCR_ETR_Mask ((uint16_t)0x00FF) #define CCMR_Offset ((uint16_t)0x0018) #define CCER_CCE_Set ((uint16_t)0x0001) #define CCER_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) { /* Check the parameters */ 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; /* Check the parameters */ 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)) { /* Select the Counter Mode */ tmpcr1 &= (uint16_t)(~((uint16_t)(TIM_CR1_DIR | TIM_CR1_CMS))); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_CounterMode; } if((TIMx != TIM6) && (TIMx != TIM7)) { /* Set the clock division */ tmpcr1 &= (uint16_t)(~((uint16_t)TIM_CR1_CKD)); tmpcr1 |= (uint32_t)TIM_TimeBaseInitStruct->TIM_ClockDivision; } TIMx->CR1 = tmpcr1; /* Set the Autoreload value */ TIMx->ARR = TIM_TimeBaseInitStruct->TIM_Period ; /* Set the Prescaler value */ TIMx->PSC = TIM_TimeBaseInitStruct->TIM_Prescaler; if ((TIMx == TIM1) || (TIMx == TIM8)|| (TIMx == TIM15)|| (TIMx == TIM16) || (TIMx == TIM17)) { /* Set the Repetition Counter value */ TIMx->RCR = TIM_TimeBaseInitStruct->TIM_RepetitionCounter; } /* Generate an update event to reload the Prescaler and the Repetition counter values immediately */ 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
评论
    相关推荐
    • STM32 程序
      STM32一些自己写过的程序并应用过可以使用的,包括直流电机驱动,温度显示,oled显示,adc实验,PWM输出,定时器中断,全部都写在了main函数中,不过写的有一点乱。(pwm实验可以看我的博客)
    • STM32
      STM32 该存储库用于容纳我的学习项目,以便使用STM32开发板进行嵌入式系统编程。
    • stm32f103
      stm32f103c8t6资料,包括源码,原理图等等
    • STM32
      STM32
    • stm32 sim 7600
      stm32 ota sim 7600 stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600...
    • STM32 SPWM
      利用stm32的定时器产生spwm波形,进行调解,希望能对大家有所帮助。
    • stm32 pack
      keil5 中使用的 STM32包 其中包括 STM32F0 STM32F1 STM32F3 STM32L0 STM32L1
    • stm32cubemx
      stm32cubemx st的代码生成器,安装后可以进行图形化的代码生成,项目生成!
    • STM32CubeMX
      ST(意法半导体)公司为方便STM32的使用和学习,以及HAL库的推广,自行研发的可以通过配置,自动生成初始化代码的工具软件
    • STM32 JoyStickMouse
      今天终于把 STM32 的例程 JoyStickMouse 跑起来了,上传一份备忘。 注意要根据 stm32f10x_conf.h 中的注释去掉一些没用到的文件