你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32软件模拟串口协议控制TM1652

[复制链接]
STMCU小助手 发布时间:2022-4-24 18:00
TM1652.c

  1. #include "tm1652.h"
  2. #include "delay.h"
  3.         

  4. void tm1652_init()
  5. {
  6.         GPIO_InitTypeDef  GPIO_InitStructure;

  7.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

  8.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                                 
  9.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  
  10.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 
  11.         GPIO_Init(GPIOB, &GPIO_InitStructure);                                       
  12.         GPIO_SetBits(GPIOB,GPIO_Pin_10);        

  13. }

  14. void tm1652_send_data(u8 sdat)
  15. {
  16.         unsigned char i=0, sfalg=0;
  17.         
  18.         //Æðʼλ
  19.         TX=1;   TX=0;   delay_us(52);    //±£³Ö52us
  20.         
  21.    //·¢ËÍ8λÊý¾Ý
  22.         for(i=0; i<8; i++)
  23.         {
  24.                 if(sdat & 0x01)
  25.                 {
  26.                         TX=1;
  27.                         sfalg++;
  28.                 }else
  29.                 {
  30.                         TX=0;
  31.                 }
  32.                 delay_us(52);
  33.                 sdat >>=1;
  34.         }

  35.         //УÑéλ,°´ÕÕ·¢ËÍÊý¾ÝÖÐ1µÄ¸öÊýÀ´ÅжÏ
  36.         if(sfalg%2==0)                                 
  37.         {
  38.                 TX=1;
  39.         }
  40.         else                                
  41.         {
  42.                 TX=0;
  43.         }
  44.         delay_us(52);
  45.         
  46.         //ֹͣλ
  47.         TX=1;  delay_us(52);   
  48. }
复制代码

main.c

  1.                 tm1652_send_data(0x08);
  2.                 tm1652_send_data(0xff);
  3.                 tm1652_send_data(0xff);
  4.                 tm1652_send_data(0xff);
  5.                 tm1652_send_data(0x00);
  6.                 tm1652_send_data(0x00);
  7.                 tm1652_send_data(0x00);
  8.                 tm1652_send_data(0x18);
  9.                 tm1652_send_data(0x4f);
  10.                 delay_ms(1000);
复制代码



收藏 评论0 发布时间:2022-4-24 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版