//初始化 void TM7705_Init() { TM7705_ResetHard(); /* 硬件复位 */ DelayMs(5); TM7705_SyncSPI(); /* 同步SPI接口时序 */ DelayMs(5); /* 配置时钟寄存器 */ /* 先写通信寄存器,下一步是写时钟寄存器 */ TM7705_WriteByte(REG_CLOCK | WRITE | CH_1); /* 使能外部晶振,刷新速率50Hz */ TM7705_WriteByte(CLKDIS_0 | CLK_4_9152M | FS_50HZ); //TM7705_WriteByte(CLKDIS_0 | CLK_4_9152M | FS_500HZ); /* 刷新速率500Hz */ /* 每次上电进行一次自校准 */ TM7705_CalibSelf(1); /* 内部自校准 CH1 */ //TM7705_CalibSelf(2); /* 内部自校准 CH2 */ DelayMs(5); }
/* ********************************************************************************************************* * 函 数 名: bsp_InitTM7705 * 功能说明: 配置STM32的GPIO和SPI接口,用于连接 TM7705 * 形 参: 无 * 返 回 值: 无 ********************************************************************************************************* */ void ICACHE_FLASH_ATTR bsp_InitTM7705(void) { bsp_DelayMS(10); TM7705_ResetHard(); /* 硬件复位 */ /* 在接口序列丢失的情况下,如果在DIN 高电平的写操作持续了足够长的时间(至少 32个串行时钟周期), TM7705 将会回到默认状态。 */ bsp_DelayMS(5); TM7705_SyncSPI(); /* 同步SPI接口时序 */ bsp_DelayMS(5); /* 配置时钟寄存器 */ TM7705_WriteByte(REG_CLOCK | WRITE | CH_1); /* 先写通信寄存器,下一步是写时钟寄存器 */ TM7705_WriteByte(CLKDIS_0 | CLK_4_9152M | FS_50HZ); /* 刷新速率50Hz */ //TM7705_WriteByte(CLKDIS_0 | CLK_4_9152M | FS_500HZ); /* 刷新速率500Hz */ }