|
FDC2214評(píng)估版,電容式傳感器,多用于手勢(shì)識(shí)別,紙張數(shù)量識(shí)別等
接線圖:
FDC2214接線圖-STM32.jpg (284.21 KB, 下載次數(shù): 41)
下載附件
2023-8-9 11:41 上傳
單片機(jī)源程序如下:- #include "bsp.h"
- /*******************************************************************************
- * 函數(shù)名 : WriteRegfdc2214
- * 描述 : 寫寄存器數(shù)據(jù)
- * 輸入?yún)?shù) : add,value
- * 返回參數(shù) : 無(wú)
- *******************************************************************************/
- void WriteRegfdc2214(u8 add,u16 value)
- {
- IIC_Start();
- IIC_Send_Byte(0X54); //ADDR=0時(shí),地址0X2A<<1+0=0X54
- IIC_Wait_Ack(); //等應(yīng)答
- IIC_Send_Byte(add); //寫地址
- IIC_Wait_Ack(); //等應(yīng)答
- IIC_Send_Byte(value>>8); //寫高8位
- IIC_Wait_Ack();
- IIC_Send_Byte(value&0xff);//寫低8位
- IIC_Wait_Ack();
- IIC_Stop(); //產(chǎn)生一個(gè)停止條件
- delay_ms(10);
- }
- /*******************************************************************************
- * 函數(shù)名 : ReadRegfdc2214
- * 描述 : 讀寄存器數(shù)據(jù)
- * 輸入?yún)?shù) : add地址
- * 返回參數(shù) : 無(wú)
- *******************************************************************************/
- unsigned int ReadRegfdc2214(unsigned char add)
- {
- u16 status;
- u16 a,b;
- IIC_Start();
- IIC_Send_Byte(0X54); //寫命令A(yù)DDR=0
- IIC_Wait_Ack();
- IIC_Send_Byte(add); //地址
- IIC_Wait_Ack();
- IIC_Start(); //重新開始
- IIC_Send_Byte(0X55); //發(fā)送讀命令A(yù)DDR=0
- IIC_Wait_Ack();
- a=IIC_Read_Byte(1); //讀高位
- b=IIC_Read_Byte(0); //讀低位
- status=(a<<8)+b;
- IIC_Stop();
- return (status);
- }
- /*******************************************************************************
- * 函數(shù)名 : InitSingleLDC1314
- * 描述 : 初始化單通道
- * 輸入?yún)?shù) : 無(wú)
- * 返回參數(shù) : 無(wú)
- *******************************************************************************/
- void InitSingleFDC2214(void)
- {
- WriteRegfdc2214(0x08,0xFFFF);//設(shè)置轉(zhuǎn)換時(shí)間 設(shè)置達(dá)到最高精度
- WriteRegfdc2214(0x10,0x0064);//FDC2214_SETTLECOUNT_CH0 計(jì)數(shù)
- WriteRegfdc2214(0x14,0x2001); //分頻洗系數(shù)
- // LDC_Write_Reg(0x0C,0x0F00); //調(diào)零
- WriteRegfdc2214(0x19,0x0000); //ERROE_CONFIG
-
- WriteRegfdc2214(0x1B,0x020D); //通道配置
- WriteRegfdc2214(0x1E,0xF800); //配置驅(qū)動(dòng)電流
- WriteRegfdc2214(0x1A,0x1C81); //參數(shù)配置
- }
- /*******************************************************************************
- * 函數(shù)名 : InitMultiLDC1314
- * 描述 : 初始化多通道
- * 輸入?yún)?shù) : 無(wú)
- * 返回參數(shù) : 無(wú)
- *******************************************************************************/
- void InitMultiFDC2214(void)//雙通道
- {
- WriteRegfdc2214(0x08,0x04D6);//轉(zhuǎn)換時(shí)間
- WriteRegfdc2214(0x09,0x04D6);
- WriteRegfdc2214(0x0A,0x04D6);//轉(zhuǎn)換時(shí)間
- WriteRegfdc2214(0x0B,0x04D6);
-
- WriteRegfdc2214(0x0C,0x0F00); //調(diào)0值 CH0
- WriteRegfdc2214(0x0D,0x0F00); //調(diào)0值 CH1
- WriteRegfdc2214(0x0E,0x0F00); //調(diào)0值 CH2
- WriteRegfdc2214(0x0F,0x0F00); //調(diào)0值 CH3
-
- WriteRegfdc2214(0x10,0x000A);//作用時(shí)間 CH1
- WriteRegfdc2214(0x11,0x000A);//CH2
- WriteRegfdc2214(0x12,0x000A);//CH3
- WriteRegfdc2214(0x13,0x000A);//CH4
-
- WriteRegfdc2214(0x14,0x2002);//分頻
- WriteRegfdc2214(0x15,0x2002);
- WriteRegfdc2214(0x16,0x2002);//分頻
- WriteRegfdc2214(0x17,0x2002);
-
- WriteRegfdc2214(0x19,0x0000);
- WriteRegfdc2214(0x1B,0xC20D);//配置多通道 2通道--0x820D
-
- WriteRegfdc2214(0x1E,0x9000); //驅(qū)動(dòng)電流 CH0
- WriteRegfdc2214(0x1F,0x9000); //CH1
- WriteRegfdc2214(0x20,0x9000); //CH2
- WriteRegfdc2214(0x21,0x9000); //CH3
-
- // LDC_Write_Reg(0x1A,0x1401);
- WriteRegfdc2214(0x1A,0x1C81);//配置寄存器
-
- }
- //Configuration register
- // Active channel Select: b00 = ch0; b01 = ch1; b10 = ch2; b11 = ch3;
- // |Sleep Mode: 0 - device active; 1 - device in sleep;
- // ||Reserved, reserved, set to 1
- // |||Sensor Activation Mode: 0 - drive sensor with full current. 1 - drive sensor with current set by DRIVE_CURRENT_CHn
- // ||||Reserved, set to 1
- // |||||Reference clock: 0 - use internal; 1 - use external clock
- // ||||||Reserved, set to 0
- // |||||||Disable interrupt. 0 - interrupt output on INTB pin; 1 - no interrupt output
- // ||||||||High current sensor mode: 0 - 1.5mA max. 1 - > 1.5mA, not available if Autoscan is enabled
- // ||||||||| Reserved, set to 000001
- // ||||||||| |
- // CCS1A1R0IH000000 -> 0001 1100 1000 0001 -> 0x1E81 0001 1100 1000 0001 -> 0x1C81
復(fù)制代碼
原理圖:無(wú)
程序:
STM32Project.rar
(280.41 KB, 下載次數(shù): 16)
2023-8-9 11:41 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|