update:
设备屏蔽功能 适配新版界面
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "bsp_buzzer.h"
|
||||
#include "bsp_w25q.h"
|
||||
|
||||
/*<2A><><EFBFBD>ؿ<EFBFBD><D8BF>Ƶ<EFBFBD>ƽ<EFBFBD><C6BD>ʹ<EFBFBD><CAB9>ͬһ<CDAC>ĵ<EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>Ʒ<EFBFBD>ʽ*/
|
||||
#define BUZZER_GPIO_ON GPIO_PIN_SET
|
||||
@@ -14,6 +15,7 @@ static void bsp_buzzer_on(void);
|
||||
static void bsp_buzzer_off(void);
|
||||
static void bsp_buzzer_enable(void);
|
||||
static void bsp_buzzer_disable(void);
|
||||
static void bsp_buzzer_flash_data_load(void);
|
||||
|
||||
bsp_buzzer_t buzzer =
|
||||
{
|
||||
@@ -35,11 +37,40 @@ static void bsp_buzzer_init(void)
|
||||
{
|
||||
BUZZER_OFF;
|
||||
p_buzzer->p_flash_data = &flash_data;
|
||||
bsp_buzzer_flash_data_load();
|
||||
}
|
||||
|
||||
static void bsp_buzzer_flash_data_save(void)
|
||||
{
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
||||
w25q32_sector_erase(W25Q32_BUZZER_STATE_ADDR);
|
||||
w25q32.write(W25Q32_BUZZER_STATE_ADDR, (uint8_t*)&flash_data, sizeof(bsp_buzzer_flash_data_t));
|
||||
}
|
||||
|
||||
static void bsp_buzzer_flash_data_load(void)
|
||||
{
|
||||
w25q32.read(W25Q32_BUZZER_STATE_ADDR, (uint8_t*)&flash_data, sizeof(bsp_buzzer_flash_data_t));
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ȫΪ0xFF<46><46><EFBFBD>״<EFBFBD>ʹ<EFBFBD>ã<EFBFBD>
|
||||
uint8_t *p = (uint8_t*)&flash_data;
|
||||
u8 all_ff = 1;
|
||||
for (u8 i = 0; i < sizeof(bsp_buzzer_flash_data_t); i++) {
|
||||
if (p[i] != 0xFF) {
|
||||
all_ff = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (all_ff) {
|
||||
// <20>״<EFBFBD>ʹ<EFBFBD>ã<EFBFBD>Ĭ<EFBFBD>Ϲرշ<D8B1><D5B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
flash_data.sw = USR_DISABLE;
|
||||
bsp_buzzer_flash_data_save();
|
||||
}
|
||||
|
||||
// <20><><EFBFBD>ݼ<EFBFBD><DDBC>ص<EFBFBD>״̬<D7B4><CCAC><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
|
||||
if (flash_data.sw == USR_ENABLE) {
|
||||
p_buzzer->p_flash_data->sw = flash_data.sw;
|
||||
}
|
||||
}
|
||||
|
||||
static void bsp_buzzer_task(void)
|
||||
|
||||
@@ -57,7 +57,7 @@ static void bsp_uart_rx_task(bsp_uart_t *p_uart);
|
||||
static void bsp_uart_rx_time_start(bsp_uart_t *p_uart);
|
||||
static void bsp_uart_tx_dma_tc_int(bsp_uart_t *p_uart);
|
||||
static void bsp_uart_dma_send(bsp_uart_t *p_uart, u8 *p_data, u16 len);
|
||||
static void bsp_uart_baud_rate_set(bsp_uart_t *p_uart,u16 baud_rate);
|
||||
static void bsp_uart_baud_rate_set(bsp_uart_t *p_uart,u32 baud_rate);
|
||||
|
||||
/* <20>ⲿHAL<41><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
extern UART_HandleTypeDef huart1;
|
||||
@@ -269,7 +269,7 @@ static void bsp_uart_init(bsp_uart_t *p_uart)
|
||||
HAL_UARTEx_ReceiveToIdle_DMA(p_uart->uart, p_uart->rx_addr, p_uart->rx_dma_len);
|
||||
}
|
||||
|
||||
static void bsp_uart_baud_rate_set(bsp_uart_t *p_uart,u16 baud_rate)
|
||||
static void bsp_uart_baud_rate_set(bsp_uart_t *p_uart,u32 baud_rate)
|
||||
{
|
||||
p_uart->uart->Init.BaudRate = baud_rate;
|
||||
HAL_UART_Init(p_uart->uart);
|
||||
|
||||
@@ -61,7 +61,7 @@ struct bsp_uart_t
|
||||
|
||||
struct
|
||||
{
|
||||
void (*baud_rate)(bsp_uart_t *,u16);
|
||||
void (*baud_rate)(bsp_uart_t *,u32);
|
||||
}set;
|
||||
|
||||
void (*init)(bsp_uart_t *); /* <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8> */
|
||||
|
||||
@@ -49,6 +49,12 @@ void w25q32_sector_erase(uint32_t sector_addr);
|
||||
#define MAX_HISTORY_ALARM_RECORDS (1000) /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC> */
|
||||
#define HISTORY_ALARM_SECTORS_NEEDED ((MAX_HISTORY_ALARM_RECORDS * HISTORY_ALARM_RECORD_SIZE + W25Q32_SECTOR_SIZE - 1) / W25Q32_SECTOR_SIZE)
|
||||
|
||||
/* COM<4F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ʴ洢<CAB4><E6B4A2>ַ - ʹ<>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>13<31><33> */
|
||||
#define W25Q32_COM_BAUDRATE_ADDR 0x00D000 /*<2A>洢4<E6B4A2><34>COM<4F>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>ֵ<EFBFBD><D6B5>4<EFBFBD>ֽڣ<D6BD>*/
|
||||
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4>洢<EFBFBD><E6B4A2>ַ - ʹ<>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>14<31><34> */
|
||||
#define W25Q32_BUZZER_STATE_ADDR 0x00E000 /*<2A>洢<EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>1<EFBFBD>ֽڣ<D6BD>*/
|
||||
|
||||
/* w25q32 <20><><EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD><E1B9B9> */
|
||||
typedef struct {
|
||||
void (*init)(void);
|
||||
|
||||
Reference in New Issue
Block a user