/* * 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_ */