普及:HX711AD一款专为高精度电子秤而设计的 24 位 A/D 转换器芯片;
获取数据方法:两个普通IO
DOUT输入:GPIO_Mode_In_FL_No_IT;
SCK输出:GPIO_Mode_Out_PP_Low_Slow;
输出口必须硬件上需接上拉电阻到电源,保证可以输出高电平,否则HX711芯片的数据口一直保持同样电平;
程序:官方例程:
STM8例程:
//IO配置
#define HX711_DOUT_GPIO GPIOC
#define HX711_DOUT_PIN GPIO_Pin_1
#define HX711_DOUT_STATUS GPIO_ReadInputDataBit(HX711_DOUT_GPIO, HX711_DOUT_PIN)//读取
#define HX711_DOUT_H GPIO_SetBits(HX711_DOUT_GPIO,HX711_DOUT_PIN)
#define HX711_SCK_GPIO GPIOC
#define HX711_SCK_PIN GPIO_Pin_0
#define HX711_SCK_MODE GPIO_Mode_Out_PP_Low_Slow
#define HX711_SCK_L GPIO_ResetBits(HX711_SCK_GPIO,HX711_SCK_PIN)
#define HX711_SCK_H GPIO_SetBits(HX711_SCK_GPIO,HX711_SCK_PIN)
GPIO_Init(HX711_DOUT_GPIO, HX711_DOUT_PIN, GPIO_Mode_In_FL_No_IT ); //AD数据口 输入浮空,无外部中断
GPIO_Init(HX711_SCK_GPIO, HX711_SCK_PIN, GPIO_Mode_Out_PP_Low_Slow ); //AD时钟口 输出推挽,高电平,2MHz
关键字:STM8 驱动HX711 高精度电子秤
引用地址:
STM8驱动HX711
推荐阅读最新更新时间:2024-11-08 20:52
STVD+STM8官方固件库创建工程模板
本文借鉴了在KEIL、IAR、以及一些IDE创建工程模板的经验尝试得出。如有偏驳,欢迎将Email给我,我将及时修改,如有版权问题,请管理及时联系我删帖,维护版权。 1、安装STVD(IDE)+ COSMIC(编译器),本文省略 需注意,需要留意COSMIC的安装路径,以免系统无法自动识别时,可手动配置。 2、下载STM8S的固件库 可于意法半导体官网下载STM8S的固件库,也可位于STM论坛(百度可以搜到),个人建议去STM论坛,本文用的是STM8S_StdPeriph_Lib_V2.1.0,下载完后解压备用。 3、新建存放模板的路径(文件夹)并将固件库放进相对指定文件夹 a、需要新建存放文件的路径的文件夹。例如,整
[单片机]
STM8避坑—串口中断
STM8库函数开发方式中,串口中断的类型有很多,头文件中的定义入下: typedef enum { UART1_IT_TXE = (uint16_t)0x0277, /*! Transmit interrupt */ UART1_IT_TC = (uint16_t)0x0266, /*! Transmission Complete interrupt */ UART1_IT_RXNE = (uint16_t)0x0255, /*! Receive interrupt */ UART1_IT_IDLE = (uint16_t)0x0244, /*! IDL
[单片机]
STM8S自学笔记-001 STM8简介
概述 STM8单片机的开发商是意法半导体(ST),于2009年推出。它具有3级流水线架构、性价比高、开发方便的等优点。根据应用场合的不同,分为三个系列:STM8S,STM8L和STM8A。 个人认为,STM8S的开发非常类似于STM32F,因而学好STM8S单片机非常有助于学习STM32。所以,先从STM8S入手,一点一点拨开它的“心”。 ST单片机的开发有两种方法:用库函数和用寄存器。 寄存器开发是最底层的,类似于51,优点是速度快,代码简洁,但难以阅读和理解。库函数是ST官方将某一功能所需的寄存器整合到一起后,提供给开发人员可直接使用的(含参)函数,而且库函数开发的阅读性非常好。所以,后面的程序实例以库函数
[单片机]
STM8仿真调试快速入门
● ST Visual Develop的安装 到 ST 官方网站: http://www.st.com/stonline/products/support/micro/files/sttoolset.exe 下载安装。 ● ST Visual Develop之设置软件与建立、打开相关调试文件 ----使用Cosmic C语言,软件仿真 要用STVD的IDE下使用COSMIC C语言开发的话,首先要在STVD中对COSMIC STM8编译器进行设置。 如下图所示,运行ST Visual Develop 集成开发环境,选择菜单 Tools - Options ,在出现的对话框中选择 Toolset 选项卡。在 Tools
[单片机]
STM8 SPI状态标志
STM8 SPI状态标志 应用程序通过3个状态标志可以完全监控SPI总线的状态。 总线忙(Busy)标志 此标志表明SPI通信层的状态。当它被置1时,表明SPI正忙于通信,并且/或者在发送缓冲器里有一个有效的数据正在等待被发送。此标志的目的是说明在SPI总线上是否有正在进行的通信。以下情况时此标志将被置1: 1. 数据被写进主设备的SPI_DR寄存器上。 2. SCK时钟出现在从设备的时钟引脚上。 发送/接收一个字(字节)完成后,BUSY标志立即清除;此标志由硬件设置和清除。监视此标志可以避免写冲突错误。写此标志无效。仅当SPE位被置1时此标志才有意义。 发送缓冲器空标志(TXE) 此标志被置1时表明发送缓冲器为空,因此下一
[单片机]
stm8s跳出中断程序c语言,STVD自动生成的stm8
整理一下,不知理解对不对; /* BASIC INTERRUPT VECTOR TABLE FOR STM8 devices * Copyright (c) 2007 STMicroelectronics */ //typedef void (*)void,;定义一个类型(指向函数的指针)取得void类型函数的函数入口地址指针 typedef void @far (*interrupt_handler_t)(void); //定义一个结构体类型存放{中断指令,中断处理程序名(即中断函数入口指针)} struct interrupt_vector { unsigned char interrupt_instruction
[单片机]
STM8单片机中断的主要功能解析
内部中断:一般是由硬件错误或者运算过程中出错引起的,一般是不可避免的; 外部中断:是处理器的外设发出的中断请求,如定时器中断,UART接收中断,外部中断一般都可以通过中断控制器进行屏蔽; 1.ITC功能概述: ……所有IO引脚都具有外部中断能力,每个端口都有独立的中断向量以及独立的标志;外设中断能力; ……软件中断能力(TRAP) ……具有灵活的优先级和中断等级管理,支持可嵌套和同级中断管理: ——多达4个软件可编程的嵌套等级;——最多有32个中断向量,其入口地址由硬件固定;——2个不可避免的中断:RESET,TRAP;——1个不可避免的最高优先级硬件中断TL1; 2.中断的主要功能 1. 实现高速CPU和低速外设之间速度
[单片机]
STM8输出PWM变频时波形断开解决方法
在使用STM8单片机的PWM功能时,一直没出现过问题。但是在一个项目中需要在PWM波输出的过程中变频,这时候问题来了。在PWM输出过程中,输出的波形是不是的就会有一大段空白的地方,好像波形输出被关闭了一样。 输出波形如下图所示: 放大后查看 可以看到波形输出的过程中突然就消失了,而且还不是偶尔的出现一次。是频繁的出现。这就奇怪了?难道是单片机坏了?换了几个单片机测试都是这样的,那么肯定就是软件代码出问题了。那么到底是什么地方有问题了,于是开启找BUG模式,一行一行代码分析。 代码分析了半天也没找不到哪行代码有问题,输出单一频率的PWM波一直很稳定,只是改变频率的时候就会出现波形断开情况,频率改变的越多,
[单片机]