📄 isd1790.h
字号:
/********************************************************************
* ISD1790 can record 60s by 12 kHZ sampling frequence,and record 90s
* by sampling frequence.
*********************************************************************/
#ifndef _ISD1790_H
#define _ISD1790_H
#include "71x_lib.h"
#include "BspiPublic.h"
//modify by tanmf
#ifdef _ISD1790_C_
#define _ISD1790_E_
#else
#define _ISD1790_E_ extern
#endif
/*
extern bool playflag; //TRUE表示正在播放;FALSE表示播放结束
extern bool playbackflag;//TRUE表示播放下一个语音
*/
typedef struct
{
unsigned char PlayPointer;//播放语音指针
unsigned char PlayAllNum;//整个播放语音的总数
unsigned char PlayData[40];//
}PLAY_BACK_STRUCT;
typedef union
{
float PlayBackMoney;
unsigned short PlayBackDay;
}PLAY_DATA_UNION;
typedef struct
{
unsigned char PlayCommand;
PLAY_DATA_UNION PlayFData[2];//最长:收费金额,余额
}PLAY_FRAME_STRUCT;
/*使能ISD1790 SPI口*/
inline void ISD1790Enable(void)
{
GPIO_BitWrite(GPIO1,15,0);
}
/*失效ISD1790 SPI口*/
inline void ISD1790Disable(void)
{
GPIO_BitWrite(GPIO1,15,1);
}
_ISD1790_E_ void VoiceScheduler();
_ISD1790_E_ void VoiceTest();
_ISD1790_E_ void VoiceInit();
_ISD1790_E_ void VoicePlay(PLAY_FRAME_STRUCT *PlayFrameData);
static unsigned char ExChangeBit(unsigned char InData);
static bool ISD17xxRDStatus(BSPI_TypeDef *BSPIx);
static void ISD17xxStop(BSPI_FRAME_DATA_STRUCT *BspiFrameData,BSPI_DATA_STRUCT *BspiData);
static void ISD17xxPowerUp(BSPI_FRAME_DATA_STRUCT *BspiFrameData,BSPI_DATA_STRUCT *BspiData);
static void ISD17xxPlay(BSPI_FRAME_DATA_STRUCT *BspiFrameData,BSPI_DATA_STRUCT *BspiData,unsigned char voicesum);
static void HandleDayData(PLAY_FRAME_STRUCT *PlayFrameData,PLAY_BACK_STRUCT *PlayBackData);
static void HandleMoneyData(PLAY_FRAME_STRUCT *PlayFrameData,PLAY_BACK_STRUCT *PlayBackData);
static bool PlayBack(BSPI_FRAME_DATA_STRUCT *BspiFrameData,BSPI_DATA_STRUCT *BspiData,
PLAY_BACK_STRUCT *PlayBackData);
static void DateConver(unsigned short ConverData,unsigned char *CommRSData);
static void ChargeConver(unsigned long ConverData,unsigned char *CommRSData);
static void SetDayDigitalSound(unsigned char *PlayData,PLAY_BACK_STRUCT *PlayBackData);
static void SetMoneyDigitalSound(unsigned char *PlayData,PLAY_BACK_STRUCT *PlayBackData);
#endif
/*
序号 发音内容
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 点
11 十
12 百
13 千
14 万
15 元
16 角
17 分
18 日
19 天
20 欢迎光临
21 您好
22 一路顺风
23 一路平安
24 此卡可用日期
25 此卡余额
26 此卡余额不足
27 余额
28 此卡过期
29 此卡未到使用时间
30 此卡无效
31 此卡已入场
32 此卡已出场
33 此次收费
34 请交费
35 谢谢
36 请读卡
37 无卡请取卡并带卡入场
38 请取卡
39 临时车辆请交费交卡
40 系统禁止读卡
41 车场满位
42 读卡有效
43 此卡已挂失
44 此卡未授权
45 月租车
46 时租车
47 未交费请到收费处交费
48 已超时请回收费处补费
49 请在指定位置读卡
50 请尽快延期
51 车牌不符
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -