您好!
而电路板的最终布局尚未准备就绪。
我决定购买测试板(请访问链接)
en.aliexpress.com/.../32955526756.html a2g03.search0104.3.207.2263376bMTd8Uc 和 ws_ab_test = searchweb0_0 2Csearchweb201602_3_10065_10068_10547_319_5730915_317_10548_106963_10084_454_10083_106183_10307_533_533_533_5729815_10059_1084_108887_100031_10084_453_b3b5321_f3b3b_10083_10083_105379_5b_5b3b5b_5b_539_539_539b_5320b_b_b_f3b3b1b3b1b1b3b3b3b1b3b1b3b3b1b1b3b5b3b3b1b1b1b3b3b3b3b1b3b3b3b_
随附了(.c)和(.h)驱动程序文件以及电路板原理图。 最重要的是扫描传递到文件 screen.jp 中序列的 AD 值
问题是、即使将电池与 REF5025结合使用、我也会看到 AD 的最后8位发生了很大变化、我认为这是错误的。
以下是 AD 读取函数:
//读取
空读(空)
{
unsigned int data = 0;
while (DOUT_READ_BIT);
数字++;
对于(char count = 0;count <25;count ++)
{
SCLK (1);
date =日期<< 1;
IF (DOUT_READ_BIT)
日期=日期| 0x000001;
其他
数据=日期和0xFFFFFE;
SCLK (0);
}
值=数据>> 1;
总和+=值;
}
以下是要读取的任务和平均读取
/* StartDefaultTask 函数*/
void StartDefaultTask (void const *参数)
{
/*用户代码 begin 5 */
/*无限循环*/
对于(;)
{
osDelay (5);//每5ms
读为();
}
/*用户代码结束5 */
}
/* StartTask02函数*/
void StartTask02 (void const *参数)
{
/*用户代码 begin StartTask02 */
/*无限循环*/
对于(;)
{
osDelay (500);
Avg =(浮点)总和/数字;
AD =(int)平均值;
范围=(平均偏移);
重量=范围/系数;
if (EAS_GetOffset){
偏移=平均值;
EAS_GetOffset = 0;
}
if (EAS_GetFactor){
系数=(浮点)(平均偏移量)/EAS_Weight;
EAS_GetFactor = 0;
}
snprintf (向量、sizeof (向量)、"平均值:% f、AD:% x、总和:% d、 nReadings:% d、Weight:% f \ r \ n"
Avg、Ad、Sum、Num、Weight);
while (HAL_UART_Transmit)(& hart1、(uint8_t *) Vector、strlen (Vector))= HAL_OK);
num = 0;
总和= 0;
}
/*用户代码 end StartTask02 */
}
[相关]