STM32使用HAL库驱动TA6932数码管驱动芯片
TA6932介绍
8段16位,支持共阴共阳LED数码管。
2、STM32CUBEMX配置引脚
推挽配置即可。
3、头文件
/********************************************************************************************
* TA6932:8段16位数码管驱动
*********************************************************************************************/#ifndef __TA6932_H
#define __TA6932_H#include "main.h"typedef enum
{LEV_0 = 0x80,LEV_1 = 0x88,LEV_2 = 0x89,LEV_3 = 0x8a,LEV_4 = 0x8b,LEV_5,LEV_6,LEV_7,LEV_8,
}lightLevType_E;void TA6932_Init(void);
void TA6932_LightLevel(lightLevType_E _eLev);
void TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth);
#endif
4、C文件
#include "ta6932.h"/********************************************************************************************
* 共阴极数码管段码
*********************************************************************************************/
const uint8_t SEG_CODE[23] =
{0x3f,/*0*/0x06,/*1*/0x5b,/*2*/0x4f,/*3*/0x66,/*4*/0x6d,/*5*/0x7d,/*6*/0x07,/*7*/0x7f,/*8*/0x6f,/*9*/0xBf,/*0.*/0x86,/*1.*/0xDb,/*2.*/0xCf,/*3.*/0xE6,/*4.*/0xEd,/*5.*/0xFd,/*6.*/0x87,/*7.*/0xFf,/*8.*/0xEf,/*9.*/ 0x00,/*熄灭*/0X40,/*-*/0X61,/*℃*/
};#define TA6932_CLK(x) HAL_GPIO_WritePin(TA6932_CLK_GPIO_Port,TA6932_CLK_Pin,(GPIO_PinState)(x))
#define TA6932_DIN(x) HAL_GPIO_WritePin(TA6932_DIN_GPIO_Port,TA6932_DIN_Pin,(GPIO_PinState)(x))
#define TA6932_STB(x) HAL_GPIO_WritePin(TA6932_STB_GPIO_Port,TA6932_STB_Pin,(GPIO_PinState)(x))static void TA6932_WriteByte(uint8_t _ucData)
{uint8_t i;for(i=0; i<8; i++){TA6932_CLK(1);if(_ucData & 0x01){TA6932_DIN(1);}else{TA6932_DIN(0);}TA6932_CLK(0);_ucData >>= 1;}TA6932_CLK(1);
}/********************************************************************************************
* 说明:TA6932初始化
*********************************************************************************************/
void TA6932_Init(void)
{TA6932_CLK(1);TA6932_STB(1);TA6932_DIN(1);HAL_Delay(10);TA6932_STB(0);TA6932_WriteByte(0x40);/*地址自增模式*/TA6932_STB(1);TA6932_STB(0);TA6932_WriteByte(0x8f);/*亮度最大*/TA6932_STB(1);}/********************************************************************************************
* 说明:TA6932亮度设置
* 输入:_eLev
*********************************************************************************************/
void TA6932_LightLevel(lightLevType_E _eLev)
{TA6932_STB(0);TA6932_WriteByte(_eLev);/*亮度设置*/TA6932_STB(1);
}/********************************************************************************************
* 说明:TA6932显示一串字符,从地址00开始
*********************************************************************************************/
void TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth)
{uint8_t i;TA6932_STB(0);TA6932_WriteByte(0x40);/*地址自增模式*/TA6932_STB(1);TA6932_STB(0);TA6932_WriteByte(0xc0);/*设置起始地址为0x00*/for(i=0; i<_ucLenth; i++){TA6932_WriteByte(SEG_CODE[*_ucPtr]);/*显示段码*/_ucPtr++;}TA6932_STB(1);
}
5、使用注意
1、使用TA6932_Init进行初始化
2、使用TA6932_Disp(uint8_t *_ucPtr,uint8_t _ucLenth)进行显示,_upPtr指针指向段码,_ucLenth为显示长度,不超过16位。
相关文章:

STM32使用HAL库驱动TA6932数码管驱动芯片
TA6932介绍 8段16位,支持共阴共阳LED数码管。 2、STM32CUBEMX配置引脚 推挽配置即可。 3、头文件 /******************************************************************************************** * TA6932:8段16位数码管驱动 *******************…...

day25--JS进阶(递归函数,深浅拷贝,异常处理,改变this指向,防抖及节流)
目录 浅拷贝 1.拷贝对象①Object.assgin() ②展开运算符newObj {...obj}拷贝对象 2.拷贝数组 ①Array.prototype.concat() ② newArr [...arr] 深拷贝 1.通过递归实现深拷贝 2.lodash/cloneDeep实现 3.通过JSON.stringify()实现 异常处理 throw抛异常 try/catch捕获…...

Python爬虫(二十三)_selenium案例:动态模拟页面点击
本篇主要介绍使用selenium模拟点击下一页,更多内容请参考:Python学习指南 #-*- coding:utf-8 -*-import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import timeclass douyuSelenium…...

nodejs+vue宠物店管理系统
例如:如何在工作琐碎,记录繁多的情况下将宠物店管理的当前情况反应给管理员决策,等等。在此情况下开发一款宠物店管理系统小程序, 困扰管理层的许多问题当中,宠物店管理也是不敢忽视的一块。但是管理好宠物店又面临很多麻烦需要解决,于是乎变得非常合乎时…...

ceph版本和Ceph的CSI驱动程序
ceph版本和Ceph的CSI驱动程序 ceph查看ceph版本Ceph的CSI驱动程序 ceph ceph版本和Ceph的CSI驱动程序 查看ceph版本 官网ceph-releases-index Ceph的CSI驱动程序 Ceph的CSI驱动程序 https://github.com/ceph/ceph-csi...

Android Studio Flutter真机调试错误
错误:Could not locate aapt. Please ensure you have the Android buildtools installed. No application found for TargetPlatform.android_arm64. Is your project missing an android/app/src/main/AndroidManifest.xml? Consider running "flutter crea…...
MQ - 41 容灾:跨地域、跨可用区的容灾和同步的方案设计
文章目录 导图概述容灾能力的理论基础集群内和集群间容灾RTO 和 RPO集群内容灾方案的原理分析RTO 和 RPO跨集群容灾方案的原理分析三种复制方式客户端连接集群主备切换方式一 直连 Broker方式二 域名方式三 虚拟 IP (推荐)双向同步RTO 和 RPOApache Kafka MirrorMaker (V2版…...

vue3学习(二)--- ref和reactive
文章目录 ref1.1 ref将基础类型和对象类型数据转为响应式1.2 ref()获取id元素1.3 isRef reactive1.1 reactive()将引用类型数据转为响应式数据,基本类型无效1.2 ref和reactive的联系 toRef 和 toRefs1.1 如果原始对象是非响应式的就不会更新视图 数据是会变的 ref …...

网络-HTTPS
文章目录 前言一、HTTPS简介优点SSL/TSL工作流程 加密1、对称加密2、非对称加密 二、使用HTTPS1.openSSL生成私钥(1)node服务端(2)nginx配置https服务(前端) nginx服务 总结 前言 Http 存在不安全、无状态…...

GPU提升多分类问题
使用GPU加速多分类问题,与上一篇文章中前几部分代码相同 多层线性网络这里,直接使用nn.Module搭建,与之前自定义搭建的三层网络一样,但注意这里用的激活函数是ReLU的改良后的LeakyReLU,能够避免在输入小于0时出现梯…...

Selenium+Pytest自动化测试框架
前言 selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 测试框架简介 测试框架有什么优点呢: 代码复用率高&…...

云原生Kubernetes:Rancher管理k8s集群
目录 一、理论 1.Rancher 2.Rancher 安装及配置 二、实验 1.Rancher 安装及配置 三、问题 1. Rancher 部署监控系统报错 四、总结 一、理论 1.Rancher (1) 概念 Rancher 简介 Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,实现了 Kubernetes …...

Java架构师异步架构设计
目录 1 导学2 为何需要异步消息架构3 消息发送失败该如何处理4 mq接收到消息过后又丢失了消息怎么办5 消费者弄丢了消息该如何处理6 消息重复消费了该怎么处理7 消息的有序处理8 消息堆积该如何处理9 如何提高消息消费的速度10 消息应用的可插拔11 如何设计消息的统一id12 异步…...

电子书制作软件Vellum mac中文版特点
Vellum mac是一款专业的电子书制作软件,它可以帮助用户将文本文件转换为高质量的电子书,支持多种格式,包括EPUB、MOBI、PDF等。Vellum具有直观的用户界面和易于使用的工具,可以让用户快速地创建和发布电子书。 Vellum mac软件特点…...

Langchain 代理 (Agents) ,赋能超级 LLMs
原文:Langchain 代理 (Agents) ,赋能超级 LLMs - 知乎 大型语言模型(LLMs) 非常强大,但它们缺乏“最笨”的计算机程序可以轻松处理的特定能力。逻辑、计算和搜索是计算机通常擅长的领域,但 LLMs 却遇到了困…...
华为OD机考算法题:阿里巴巴找黄金宝箱(1)
题目部分 题目阿里巴巴找黄金宝箱(1)难度易题目说明一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地,藏宝地有编号从 0 ~ N 的箱子,每个箱子上面贴有一个数字,箱子中可能有一个黄金宝…...
【JAVA版本】websocket获取B站直播弹幕——基于直播开放平台
教程 B站直播间弹幕Websocket获取 — 哔哩哔哩直播开放平台 基于B站直播开放平台开放且未上架时,只能个人使用。 代码实现 1、相关依赖 fastjson2用于解析JSON字符串,可自行替换成别的框架。 hutool-core用于解压zip数据,可自行替换成别的…...

Vue中的监视属性
一、监视属性的使用 (一)配置watch进行监视 当我们想要监视一个属性改变的时候就可以使用监视属性监视其变化并进行操作。 语法格式如下: watch:{ 监视属性名称 : { // 监视属性的配置项 } } 1. handler函数 当监视的属性发生变化时就调…...

汽车一键启动点火开关按键一键启动按钮型号规格
汽车点火开关/移动管家一键启动按键/汽车改装引擎启动按钮型号:YD828溥款开关 一键启动按钮(适用于配套启动主机使用或原车一键启动开关更换) 1.适合配套专用板板安装 2.开孔器开孔安装 3.原车钥匙位安装 外观:黑色 按钮上有3种不…...

快速学习微服务保护框架--Sentinel
学习一个框架最好的方式就是查看官方地址,sentinel是国内阿里巴巴公司的,官网更方便官网 官网 微服务保护框架 Sentinel 1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...