标题:
STM32单片机PCAP01浮动三通道电容测量以及内部温度测量代码
[打印本页]
作者:
1637434614
时间:
2024-7-10 10:46
标题:
STM32单片机PCAP01浮动三通道电容测量以及内部温度测量代码
使用串口发送、接收数据 ,CRC校验格式 CRC-8-MAXIM
////////////////////////////////////////////////////////////////////////////
通信格式:XX XX XX XX XX
上位机发送:第一字节:AA
第二字节:数据长度
第三字节:指令类别: 0x01(刷新率设置, 指令内容2字节 oxXX 0xXX 9999为1Hz, 999为10H,99为100Hz, 19为500Hz)
0x02(输出模式设置, 0x00为输出字符模式,0x01为输出十六进制模式) *注意:输出为字符模式 输出频率不可设置为500Hz
0x03(参考电容设置,指令内容4字节,前两字节为整数位,后两字节为小数位)
末尾字节:CRC校验位
下位机发送:
默认为字符输出
十六进制输出: 第一字节:0x55
第二字节:数据长度
第三字节:数据类别(0x01 电容1/Rref, 0x02 电容2/Rref, 0x03 电容3/Rref,0x04 R(aul)/R(si))
数据内容 四个字节
末尾字节:CRC校验位
选择为十六进制输出模式时,将直接输出传感器的比值数据,须在上位机进行换算以及补偿
////////////////////////////////////////////////////////////////////////////
测试用例:
AA 06 01 03 e7 13 切换刷新频率
AA 05 02 01 48 切换输出格式
AA 08 03 00 64 00 00 27 设置参考电容
51hei图片_20240710104520.jpg
(114.77 KB, 下载次数: 8)
下载附件
2024-7-10 10:45 上传
单片机源程序如下:
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "pcap.h"
int lenRFID=0,bleflag=0;
u8 PreCmdBuff1[8],PreCmdBuff2[8],PreCmdBuff3[8],PreCmdBuff4[8];
char TemCmdBuff[4]={0x55, 0x04, 0x0E, 0x6A};
unsigned long Cap_msg1,Cap_msg2,Cap_msg3,Cap_msg4;
float Cap_val1,Cap_val2,Cap_val3,Cap_val4,refC=100;
u8 Uartrecive[8];
int outputflag=0;
int main(void)
{
int i;
delay_init(); //=====延时函数初始化
uart1_init(230400); //=====串口1初始化
SPI_SoftInit();
TIM3_Int_Init(9999,7199);
NVIC_Configuration();
LED_Init();
cap01_init();
while(1)
{
//Uart1SendBuf(TemCmdBuff,4);
//delay_ms(5);
//Uart1SendBuf(PreCmdBuff,4);
//Disp_Proc();
}
}
复制代码
原理图: 无
仿真: 无
代码:
HPCL.7z
(222.59 KB, 下载次数: 15)
2024-7-10 14:21 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1