HX710_24位电子秤AD采集

news/2024/10/23 18:23:23/

stm32f030c8t6 定时adc采集 串口发出

1.硬件环境:
a.核心板:stm32f030c8t6核心板,HX710电子秤芯片
b.调试器:JY-MCU Jlink OB ARM调试器 仿真器 下载器 编程器 支持JTAG/SWD
c.5v电源线:usb数据线 安卓 3米
d.串口工具:PL2303 串口升级模块 USB转TTL 升级小板 带外壳 USB转串口下载线
e.外接adc模块的模拟信号输入
2.软件环境:
a.stm32CubeMx–完成硬件的初始化工作
b.IAR Embedded Workbench IDE-ARM 7.70.1–完成项目的逻辑功能,提供调试,仿真,下载,编程等功能
c.匿名科创地面站 v4.06–pc端串口调试工具
d.友善串口调试助手–pc端串口调试工具
3.开发步骤:
a.硬件环境搭建
b.硬件初始化
c.代码逻辑实现
4.代码展示:
a.main函数

int main(void)
{static uint32_t vres = 0;HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART1_UART_Init();while(1){vres = ReadCount();resvalue = logTestPkg(vres);}}

b.读取采样值的函数

uint32_t ReadCount(void)
{   uint32_t Count = 0;   unsigned char i; int n = 5;HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);while(1==HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)); for (i=0;i<24;i++){   HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);n = 5;while(n--);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);n = 5;while(n--);if(1==HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)){Count <<= 1;Count |= 1;}else{Count <<=1;}} Count <<= 8;HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);n = 5;while(n--);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);n = 5;while(n--);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);n = 5;while(n--);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);n = 5;while(n--);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);n = 5;while(n--);HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);return Count;
}

c.通过串口发出的函数

int logTestPkg(unsigned int val)
{uint8_t buffer[4] = "";uint8_t txbuf[100];uint32_t l; uint32_t timestp = HAL_GetTick();uint16_t sum = 0;uint8_t* pData;buffer[0] = (val>>24)&0xff;buffer[1] = (val>>16)&0xff;buffer[2] = (val>>8)&0xff;buffer[3] = (val>>0)&0xff;l = 0;txbuf[l++] = 0xAA;txbuf[l++] = 0xAA;txbuf[l++] = 0xF4;txbuf[l++] = 12;txbuf[l++] = (timestp>>8)&0xFF;txbuf[l++] = (timestp>>0)&0xFF;  for (int i=0; i<sizeof(buffer); i++){txbuf[l++] = buffer[i];    }for (int i=l;i<36;i++){txbuf[l++] = 0;} txbuf[3] = l-4;for (int i=0;i<l;i++){sum+=txbuf[i];}txbuf[l++] = sum&0xFF;HAL_UART_Transmit(&huart1, txbuf, l, 20);return l;
}

http://www.ppmy.cn/news/581605.html

相关文章

梅特勒电子称维修梅特勒天平维修XS64故障及处理办法

METTLERTOLEDO梅特勒电子天平常见故障及处理方法 一、开机操作 1、检查天平是否处于水平位置(水平泡处于中心位置,如)若没有水平,则调节天平底部的两个水平旋钮至水平位置。 2、接通电源,按“NO/OF”按钮,当天平显示时,预热30min,即进入称量状态。(注:为确保称量的准确度,应…

C#从电子秤读取称重数值

最近公司要从电子秤读取称重数值&#xff0c;然后保存到系统&#xff0c;为了让自己记忆深刻同时方便他人调用&#xff0c;遂将代码整理出来。 1. 首先展示被读取数据的电子秤 2. 贴上代码 using System; using System.Collections.Generic; using System.ComponentModel; usin…

众多电子秤方案免费拿~挑一个?

夏天到了&#xff0c;再也没有厚厚的冬装来掩藏你那白花花的肉肉了&#xff01;看到别人花式秀身材&#xff0c;有肉的你们是啥感想&#xff1f;那些好看的衣服是否穿的下呢&#xff1f;别伤心&#xff0c;你需要个电子秤&#xff0c;每天瘦一点&#xff0c;每天看得见〜这里各…

读取电子称信息

本文介绍串口前后台取值 &#xff08;注&#xff1a;因后期项目需扔到服务器上&#xff0c;无法调用本地服务&#xff0c;因此建议前端取电子秤数据&#xff09; 1.串口后台取电子称数据 代码链接&#xff1a;https://pan.baidu.com/s/1QdkX10OvLgERYXGQCKCxgw 部分代码截…

基于单片机的电子秤系统设计(电路+流程)

博主福利&#xff1a;100G电子设计学习资源包&#xff01; http://mp.weixin.qq.com/mp/homepage?__bizMzU3OTczMzk5Mg&hid7&snad5d5d0f15df84f4a92ebf72f88d4ee8&scene18#wechat_redirect -------------------------------------------------------------------…

一个简单实用的电子称数据接收/解析类(C#)(附简单使用实例)

一个C#写的接收电子称数据并解析出重量数据的类。 之前单位购买了两架电子称&#xff0c;同时单独购买了配套的软件。该软件是用Delphi 7写就的&#xff0c;界面老旧就不说了&#xff0c;关键是功能太弱了&#xff0c;基本只能简单地记录一下称重的数据&#xff0c;打印的标签…

基于stm32单片机的电子称设计

基于stm32单片机的电子称设计 **完整论文和程序关注我获取**摘要关键字1 绪论2 系统硬件方案设计2.1系统总体设计方案比较与论证2.2系统元器件选型及器件参数介绍2.2.1单片机选型2.2.2传感器选择2.2.3 显示器选择2.2.4 AD转换芯片选择 3系统硬件电路设计3.1系统电源电路设计3.3…

常见几种电子称设置

几种常见电子称基本操作&#xff1a; 大华秤修改ip&#xff1a;功能---9002---确定---192-- 去皮---168-- 去皮---1-- 去皮---110---确定 设置称纸条码前两位显示&#xff1a;功能----39706---确认---按置零两次---22&#xff08;结合自己需要的修改&#xff09;---确认 奈…