[原创] STM32L4 TM7711驱动

xutong   2018-3-17 11:00 楼主

  1. #include "ADC.h"
  2. #include "stm32l4xx_hal.h"
  3. void TM7711_Port_Init(void)
  4. {
  5.         GPIO_InitTypeDef  GPIO_InitStruct;
  6.         __HAL_RCC_GPIOC_CLK_ENABLE();
  7.         GPIO_InitStruct.Mode  = GPIO_MODE_INPUT;
  8.   GPIO_InitStruct.Pull  = GPIO_PULLUP;
  9.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  10.   GPIO_InitStruct.Pin = GPIO_PIN_2;
  11.   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  12.        
  13.         GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;
  14.   GPIO_InitStruct.Pull  = GPIO_PULLUP;
  15.   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  16.   GPIO_InitStruct.Pin = GPIO_PIN_3;
  17.   HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  18.         TM7711_SCK_L;
  19.         delay_ms(2);
  20. }       
  21. unsigned long Read_TM7711(unsigned char next_select)
  22. {
  23.                 unsigned char i = 0;
  24.                 unsigned long data_temp = 0;
  25.                 for(i = 0;i < 24;i++)
  26.                 {
  27.                   TM7711_SCK_H;
  28.                         data_temp <<= 1;
  29.                         delay_us(5);
  30.                         if(TM7711_SDA_R==1)
  31.                         data_temp |= 1;
  32.                         TM7711_SCK_L;
  33.                 }
  34.                         switch(next_select)
  35.                 {
  36.                                 case CH1_10HZ:
  37.                                 TM7711_SCK_H;
  38.                                 delay_us(1);
  39.                                 TM7711_SCK_L;
  40.                                 break;
  41.                                 case CH1_40HZ:
  42.                                 TM7711_SCK_H;
  43.                                 delay_us(1);
  44.                                 TM7711_SCK_L;
  45.                                 delay_us(1);
  46.                                 TM7711_SCK_H;
  47.                                 delay_us(1);
  48.                                 TM7711_SCK_L;
  49.                                 delay_us(1);
  50.                                 TM7711_SCK_H;
  51.                                 delay_us(1);
  52.                                 TM7711_SCK_L;
  53.                                 break;
  54.                                 case CH2_TEMP:
  55.                                 TM7711_SCK_H;
  56.                                 delay_us(1);
  57.                                 TM7711_SCK_L;
  58.                                 delay_us(1);
  59.                                 TM7711_SCK_H;
  60.                                 delay_us(1);
  61.                                 TM7711_SCK_L;
  62.                                 break;
  63.                                 default:
  64.                                 break;
  65.                         }
  66.                                 return(data_temp/5084); //5084 ´ú±í 3.3V»ù׼Ϡ  1mv
  67. }




此内容由EEWORLD论坛网友xutong原创,如需转载或用于商业用途需征得作者同意并注明出处

希望做一些大家觉得好用的东西!

回复评论 (3)

  1. #ifndef _ADC_H
  2. #define _ADC_H

  3. #include <stm32l4xx_hal.h>       
  4. #include "stdio.h"
  5. #include "delay.h"

  6. #define CH1_10HZ 0x01
  7. #define CH1_40HZ 0x02
  8. #define CH2_TEMP 0x03
  9. #define CH1_10HZ_CLK 25
  10. #define CH1_40HZ_CLK 27
  11. #define CH2_TEMP_CLK 26

  12. #define TM7711_SCK_H  HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_SET);
  13. #define TM7711_SCK_L  HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,GPIO_PIN_RESET);

  14. //#define TM7711_SDA_H  HAL_GPIO_WritePin(GPIOC,GPIO_PIN_2,GPIO_PIN_SET);
  15. //#define TM7711_SDA_L   HAL_GPIO_WritePin(GPIOC,GPIO_PIN_2,GPIO_PIN_RESET);
  16. #define TM7711_SDA_R  HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)

  17. void TM7711_Port_Init(void);
  18. unsigned long Read_TM7711(unsigned char next_select);
  19. #endif
希望做一些大家觉得好用的东西!
点赞  2018-3-17 11:00
芯片手册上有51的 抄了一下  emmmm
希望做一些大家觉得好用的东西!
点赞  2018-3-17 11:01
看看,学习下
充放电数显全套方案,双口快充慢充检测电流电压,两线三线直流电压表,配套三个8尺寸15*8MM带AV电流电压单位专利数码屏,资料QQ2981074992 邮箱同上
点赞  2018-3-19 12:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复