54 lines
1.3 KiB
C
54 lines
1.3 KiB
C
/*
|
|
* @Author: wujunchao wujunchao@wuxismart.com
|
|
* @Date: 2024-12-24 13:24:59
|
|
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
|
* @LastEditTime: 2025-03-17 11:31:24
|
|
* @FilePath: \signal_generator\App\TM1650\tm1650.c
|
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
*/
|
|
#include "tm1650.h"
|
|
#include "apps_gather.h"
|
|
|
|
uint8_t key = 0;
|
|
BOOL kp_flag = FALSE;
|
|
|
|
void tm1650_init(I2C_HandleTypeDef *hi2c)
|
|
{
|
|
if (!hi2c)
|
|
return;
|
|
|
|
uint8_t reg = 0;
|
|
|
|
reg = PARAMETER_SEGMENT_MODE_SEVEN | PARAMETER_WORK_MODE_RUNNING | PARAMETER_DISPLAY_MODE_ON;
|
|
|
|
HAL_I2C_Master_Transmit(hi2c, COMMAND_SET_PARAMETER, ®, 1, 0xff); // 发送设置参数命令
|
|
}
|
|
|
|
void tm1650_read_key(I2C_HandleTypeDef *hi2c, BOOL *kp_flag, uint16_t cmd, uint8_t *key)
|
|
{
|
|
if (!hi2c || !cmd || !key)
|
|
return;
|
|
#ifdef SCAN_MODE
|
|
tm1650_init(&hi2c1);
|
|
HAL_I2C_Master_Receive(hi2c, cmd, key, 1, 0xff);
|
|
#else
|
|
if (*kp_flag == TRUE)
|
|
{
|
|
*kp_flag = FALSE;
|
|
HAL_I2C_Master_Receive(hi2c, cmd, key, 1, 0xff);
|
|
|
|
//数据转换
|
|
key_char2struct();
|
|
}
|
|
#endif
|
|
|
|
}
|
|
|
|
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
|
{
|
|
if (GPIO_Pin == KEY_KP_Pin)
|
|
{
|
|
kp_flag = TRUE;
|
|
}
|
|
}
|