/*
 * sts_weight_scale.h
 *
 *  Created on: Jun 19, 2024
 *      Author: lenovo
 */

#ifndef APPLICATION_USER_CORE_STS_WEIGHT_SCALE_H_
#define APPLICATION_USER_CORE_STS_WEIGHT_SCALE_H_
#include "main.h"
#include "sys_app.h"

//#define HX711_SCK PBout(0)// PB0
//#define HX711_DOUT PBin(1)// PB1
//#define PBout(n)   BIT_ADDR(GPIOA_ODR_Addr,n)  //输出
//#define PBin(n)    BIT_ADDR(GPIOA_IDR_Addr,n)  //输入

//#define HX711_SCK(x) 		HAL_GPIO_WritePin(HX711_SCK_PORT, HX711_SCK_PIN, GPIO_PIN_RESET);(0)// PB0
//#define HX711_DOUT(x) 		HAL_GPIO_ReadPin(HX711_DOUT_PORT, HX711_DOUT_PIN)


int sts_weight_scale(void);
void HX711_Init(void);
void Init_HX711pin(void);
uint32_t HX711_Read(void);
void Get_Maopi(void);
void Get_Weight(void);
#if 0

#endif

//V1.2修改说明
//修正了中断中调用出现死循环的错误
//防止延时不准确,采用do while结构!

//V1.3修改说明
//增加了对UCOSII延时的支持.
//如果使用ucosII,delay_init会自动设置SYSTICK的值,使之与ucos的TICKS_PER_SEC对应.
//delay_ms和delay_us也进行了针对ucos的改造.
//delay_us可以在ucos下使用,而且准确度很高,更重要的是没有占用额外的定时器.
//delay_ms在ucos下,可以当成OSTimeDly来用,在未启动ucos时,它采用delay_us实现,从而准确延时
//可以用来初始化外设,在启动了ucos之后delay_ms根据延时的长短,选择OSTimeDly实现或者delay_us实现.

//V1.4修改说明 20110929
//修改了使用ucos,但是ucos未启动的时候,delay_ms中中断无法响应的bug.
//V1.5修改说明 20120902
//在delay_us加入ucos上锁,防止由于ucos打断delay_us的执行,可能导致的延时不准。
//////////////////////////////////////////////////////////////////////////////////
void delay_init(void);
void delay_ms(uint16_t nms);
void delay_us(uint32_t nus);





#endif /* APPLICATION_USER_CORE_STS_WEIGHT_SCALE_H_ */