Browse Source

fix:1.测试音频模块播放不稳定问题,最终更换电路板,问题不再出现

issue
Zhangwen 2 months ago
parent
commit
be247229d5
  1. 30
      keilp/cc_as_stc02_ps5ws.uvprojx
  2. 21
      source/app/main.c
  3. 30
      source/app/task_game.c
  4. 4
      source/bsp/bsp_WT2605B.c
  5. 1
      source/bsp/bsp_config.c
  6. 2
      source/msp/UART3.c

30
keilp/cc_as_stc02_ps5ws.uvprojx

@ -12,14 +12,14 @@
<ToolsetName>MCS-51</ToolsetName> <ToolsetName>MCS-51</ToolsetName>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>AT80C31X2</Device> <Device>STC8H8K64U Series</Device>
<Vendor>Atmel</Vendor> <Vendor>STC</Vendor>
<Cpu>IRAM(0 - 0x7F) CLOCK(60000000) MODP2</Cpu> <Cpu>IRAM(0-0xFF) XRAM(0-0x1FFF) IROM(0-0xFFF8) CLOCK(35000000)</Cpu>
<FlashUtilSpec></FlashUtilSpec> <FlashUtilSpec></FlashUtilSpec>
<StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile> <StartupFile>"LIB\STARTUP.A51" ("Standard 8051 Startup Code")</StartupFile>
<FlashDriverDll></FlashDriverDll> <FlashDriverDll></FlashDriverDll>
<DeviceId>4027</DeviceId> <DeviceId>63364</DeviceId>
<RegisterFile>REG51.H</RegisterFile> <RegisterFile>STC8.H</RegisterFile>
<MemoryEnv></MemoryEnv> <MemoryEnv></MemoryEnv>
<Cmp></Cmp> <Cmp></Cmp>
<Asm></Asm> <Asm></Asm>
@ -35,8 +35,8 @@
<BinPath>d:\Keil\C51\BIN\</BinPath> <BinPath>d:\Keil\C51\BIN\</BinPath>
<IncludePath></IncludePath> <IncludePath></IncludePath>
<LibPath></LibPath> <LibPath></LibPath>
<RegisterFilePath></RegisterFilePath> <RegisterFilePath>STC\</RegisterFilePath>
<DBRegisterFilePath></DBRegisterFilePath> <DBRegisterFilePath>STC\</DBRegisterFilePath>
<TargetStatus> <TargetStatus>
<Error>0</Error> <Error>0</Error>
<ExitCodeStop>0</ExitCodeStop> <ExitCodeStop>0</ExitCodeStop>
@ -109,11 +109,11 @@
<SimDllName>S8051.DLL</SimDllName> <SimDllName>S8051.DLL</SimDllName>
<SimDllArguments></SimDllArguments> <SimDllArguments></SimDllArguments>
<SimDlgDll>DP51.DLL</SimDlgDll> <SimDlgDll>DP51.DLL</SimDlgDll>
<SimDlgDllArguments>-p51X</SimDlgDllArguments> <SimDlgDllArguments>-pDP8051</SimDlgDllArguments>
<TargetDllName>S8051.DLL</TargetDllName> <TargetDllName>S8051.DLL</TargetDllName>
<TargetDllArguments></TargetDllArguments> <TargetDllArguments></TargetDllArguments>
<TargetDlgDll>TP51.DLL</TargetDlgDll> <TargetDlgDll>TP51.DLL</TargetDlgDll>
<TargetDlgDllArguments>-p51X</TargetDlgDllArguments> <TargetDlgDllArguments>-p51</TargetDlgDllArguments>
</DllOption> </DllOption>
<DebugOption> <DebugOption>
<OPTHX> <OPTHX>
@ -195,11 +195,11 @@
<UseMultipleDPTR>0</UseMultipleDPTR> <UseMultipleDPTR>0</UseMultipleDPTR>
<UseOnchipXram>0</UseOnchipXram> <UseOnchipXram>0</UseOnchipXram>
<HadIRAM>1</HadIRAM> <HadIRAM>1</HadIRAM>
<HadXRAM>0</HadXRAM> <HadXRAM>1</HadXRAM>
<HadIROM>0</HadIROM> <HadIROM>1</HadIROM>
<Moda2>0</Moda2> <Moda2>0</Moda2>
<Moddp2>0</Moddp2> <Moddp2>0</Moddp2>
<Modp2>1</Modp2> <Modp2>0</Modp2>
<Mod517dp>0</Mod517dp> <Mod517dp>0</Mod517dp>
<Mod517au>0</Mod517au> <Mod517au>0</Mod517au>
<Mode2>0</Mode2> <Mode2>0</Mode2>
@ -270,17 +270,17 @@
<IRO> <IRO>
<Type>1</Type> <Type>1</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0x0</StartAddress>
<Size>0x0</Size> <Size>0xfff9</Size>
</IRO> </IRO>
<IRA> <IRA>
<Type>0</Type> <Type>0</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0x0</StartAddress>
<Size>0x80</Size> <Size>0x100</Size>
</IRA> </IRA>
<XRA> <XRA>
<Type>0</Type> <Type>0</Type>
<StartAddress>0x0</StartAddress> <StartAddress>0x0</StartAddress>
<Size>0x0</Size> <Size>0x2000</Size>
</XRA> </XRA>
<XRA512> <XRA512>
<Type>0</Type> <Type>0</Type>

21
source/app/main.c

@ -65,6 +65,7 @@ void L0_TASK_init(void)
//=============================================== //===============================================
void main(void) void main(void)
{ {
u8 i = 0;
//板U初始化 //板U初始化
L0_MCU_init(); L0_MCU_init();
//eeprom参数读取 //eeprom参数读取
@ -87,6 +88,8 @@ void main(void)
L0_uart0_sendArrayHex(G.mcu_id, MSP_ID_LEN); L0_uart0_sendArrayHex(G.mcu_id, MSP_ID_LEN);
L0_uart0_0d0a(); L0_uart0_0d0a();
// //版本信息 // //版本信息
// L0_uart0_sendstr("Version info : "); // L0_uart0_sendstr("Version info : ");
// L0_uart0_sendArray("PEN_V3",6); // L0_uart0_sendArray("PEN_V3",6);
@ -94,6 +97,7 @@ void main(void)
while(1) while(1)
{ {
if(1 == s_nos_tick.t1s_heartbeat)//1s if(1 == s_nos_tick.t1s_heartbeat)//1s
{ {
s_nos_tick.t1s_heartbeat = 0;//置0清空 s_nos_tick.t1s_heartbeat = 0;//置0清空
@ -103,7 +107,22 @@ void main(void)
// L0_uart0_0d0a(); // L0_uart0_0d0a();
// L0_uart0_sendstr("Vin = "); // L0_uart0_sendstr("Vin = ");
// L0_uart0_ushex(G.Vin); // L0_uart0_ushex(G.Vin);
// L2_WT2605B_Broadcast(&audio_tcp_noplan); // i++;
// if (i == 3)
// {
// L2_WT2605B_Broadcast(&audio_tcp_maze);
// L0_uart0_0d0a();
// L0_uart0_sendstr("gipuhafpg");
// L0_uart0_0d0a();
// i = 0;
// }
// if (ts_uart[uNum3].r.ok == 1)
// {
// L0_uart0_sendArrayHex(ts_uart[uNum3].r.buf,ts_uart[uNum3].r.num);
// ts_uart[uNum3].r.ok = 0;
// }
// L0_uart3_sendstr("1123456789abcdefg");
} }
// 系统状态任务 // 系统状态任务
L3_task_appstatus_handler(&_s_task_appstatus); L3_task_appstatus_handler(&_s_task_appstatus);

30
source/app/task_game.c

@ -143,105 +143,105 @@ void L3_task_game_init(void)
// 众里寻三3星 // 众里寻三3星
_s_task_game.game_info[3].game_oid = GAME_OID_ZLXS_4; _s_task_game.game_info[3].game_oid = GAME_OID_ZLXS_4;
_s_task_game.game_info[3].game_audio = &audio_game_zlxs_4; _s_task_game.game_info[3].game_audio = &audio_game_zlxs_4;
_s_task_game.game_info[3].game_supported_oid[0].oid = 0x28EF; _s_task_game.game_info[3].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[3].game_order = 0; _s_task_game.game_info[3].game_order = 0;
_s_task_game.game_info[3].game_timeout_seconds = 60; _s_task_game.game_info[3].game_timeout_seconds = 60;
_s_task_game.game_info[3].game_score = 0; _s_task_game.game_info[3].game_score = 0;
// 火眼金晶3星 // 火眼金晶3星
_s_task_game.game_info[4].game_oid = GAME_OID_HYJJ_3; _s_task_game.game_info[4].game_oid = GAME_OID_HYJJ_3;
_s_task_game.game_info[4].game_audio = &audio_game_hyjj_3; _s_task_game.game_info[4].game_audio = &audio_game_hyjj_3;
_s_task_game.game_info[4].game_supported_oid[0].oid = 0x29EF; _s_task_game.game_info[4].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[4].game_order = 0; _s_task_game.game_info[4].game_order = 0;
_s_task_game.game_info[4].game_timeout_seconds = 60; _s_task_game.game_info[4].game_timeout_seconds = 60;
_s_task_game.game_info[4].game_score = 0; _s_task_game.game_info[4].game_score = 0;
// 火眼金晶4星 // 火眼金晶4星
_s_task_game.game_info[5].game_oid = GAME_OID_HYJJ_4; _s_task_game.game_info[5].game_oid = GAME_OID_HYJJ_4;
_s_task_game.game_info[5].game_audio = &audio_game_hyjj_4; _s_task_game.game_info[5].game_audio = &audio_game_hyjj_4;
_s_task_game.game_info[5].game_supported_oid[0].oid = 0x2AEF; _s_task_game.game_info[5].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[5].game_order = 0; _s_task_game.game_info[5].game_order = 0;
_s_task_game.game_info[5].game_timeout_seconds = 60; _s_task_game.game_info[5].game_timeout_seconds = 60;
_s_task_game.game_info[5].game_score = 0; _s_task_game.game_info[5].game_score = 0;
// 火眼金晶5星 // 火眼金晶5星
_s_task_game.game_info[6].game_oid = GAME_OID_HYJJ_5; _s_task_game.game_info[6].game_oid = GAME_OID_HYJJ_5;
_s_task_game.game_info[6].game_audio = &audio_game_hyjj_5; _s_task_game.game_info[6].game_audio = &audio_game_hyjj_5;
_s_task_game.game_info[6].game_supported_oid[0].oid = 0x2BEF; _s_task_game.game_info[6].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[6].game_order = 0; _s_task_game.game_info[6].game_order = 0;
_s_task_game.game_info[6].game_timeout_seconds = 60; _s_task_game.game_info[6].game_timeout_seconds = 60;
_s_task_game.game_info[6].game_score = 0; _s_task_game.game_info[6].game_score = 0;
// 从小到大4星 // 从小到大4星
_s_task_game.game_info[7].game_oid = GAME_OID_CXDD_4; _s_task_game.game_info[7].game_oid = GAME_OID_CXDD_4;
_s_task_game.game_info[7].game_audio = &audio_game_cxdd_4; _s_task_game.game_info[7].game_audio = &audio_game_cxdd_4;
_s_task_game.game_info[7].game_supported_oid[0].oid = 0x2CEF; _s_task_game.game_info[7].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[7].game_order = 0; _s_task_game.game_info[7].game_order = 0;
_s_task_game.game_info[7].game_timeout_seconds = 60; _s_task_game.game_info[7].game_timeout_seconds = 60;
_s_task_game.game_info[7].game_score = 0; _s_task_game.game_info[7].game_score = 0;
// 明察秋毫4星 // 明察秋毫4星
_s_task_game.game_info[8].game_oid = GAME_OID_MCQH_4; _s_task_game.game_info[8].game_oid = GAME_OID_MCQH_4;
_s_task_game.game_info[8].game_audio = &audio_game_mcqh_4; _s_task_game.game_info[8].game_audio = &audio_game_mcqh_4;
_s_task_game.game_info[8].game_supported_oid[0].oid = 0x2DEF; _s_task_game.game_info[8].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[8].game_order = 0; _s_task_game.game_info[8].game_order = 0;
_s_task_game.game_info[8].game_timeout_seconds = 60; _s_task_game.game_info[8].game_timeout_seconds = 60;
_s_task_game.game_info[8].game_score = 0; _s_task_game.game_info[8].game_score = 0;
// 明察秋毫5星 // 明察秋毫5星
_s_task_game.game_info[9].game_oid = GAME_OID_MCQH_5; _s_task_game.game_info[9].game_oid = GAME_OID_MCQH_5;
_s_task_game.game_info[9].game_audio = &audio_game_mcqh_5; _s_task_game.game_info[9].game_audio = &audio_game_mcqh_5;
_s_task_game.game_info[9].game_supported_oid[0].oid = 0x2EEF; _s_task_game.game_info[9].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[9].game_order = 0; _s_task_game.game_info[9].game_order = 0;
_s_task_game.game_info[9].game_timeout_seconds = 60; _s_task_game.game_info[9].game_timeout_seconds = 60;
_s_task_game.game_info[9].game_score = 0; _s_task_game.game_info[9].game_score = 0;
// 积木再现3星 // 积木再现3星
_s_task_game.game_info[10].game_oid = GAME_OID_JMZX_3; _s_task_game.game_info[10].game_oid = GAME_OID_JMZX_3;
_s_task_game.game_info[10].game_audio = &audio_game_jmzx_3; _s_task_game.game_info[10].game_audio = &audio_game_jmzx_3;
_s_task_game.game_info[10].game_supported_oid[0].oid = 0x2FEF; _s_task_game.game_info[10].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[10].game_order = 0; _s_task_game.game_info[10].game_order = 0;
_s_task_game.game_info[10].game_timeout_seconds = 60; _s_task_game.game_info[10].game_timeout_seconds = 60;
_s_task_game.game_info[10].game_score = 0; _s_task_game.game_info[10].game_score = 0;
// 积木再现4星 // 积木再现4星
_s_task_game.game_info[11].game_oid = GAME_OID_JMZX_4; _s_task_game.game_info[11].game_oid = GAME_OID_JMZX_4;
_s_task_game.game_info[11].game_audio = &audio_game_jmzx_4; _s_task_game.game_info[11].game_audio = &audio_game_jmzx_4;
_s_task_game.game_info[11].game_supported_oid[0].oid = 0x30EF; _s_task_game.game_info[11].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[11].game_order = 0; _s_task_game.game_info[11].game_order = 0;
_s_task_game.game_info[11].game_timeout_seconds = 60; _s_task_game.game_info[11].game_timeout_seconds = 60;
_s_task_game.game_info[11].game_score = 0; _s_task_game.game_info[11].game_score = 0;
// 积木再现5星 // 积木再现5星
_s_task_game.game_info[12].game_oid = GAME_OID_JMZX_5; _s_task_game.game_info[12].game_oid = GAME_OID_JMZX_5;
_s_task_game.game_info[12].game_audio = &audio_game_jmzx_5; _s_task_game.game_info[12].game_audio = &audio_game_jmzx_5;
_s_task_game.game_info[12].game_supported_oid[0].oid = 0x31EF; _s_task_game.game_info[12].game_supported_oid[0].oid = 0x10FE;
_s_task_game.game_info[12].game_order = 0; _s_task_game.game_info[12].game_order = 0;
_s_task_game.game_info[12].game_timeout_seconds = 60; _s_task_game.game_info[12].game_timeout_seconds = 60;
_s_task_game.game_info[12].game_score = 0; _s_task_game.game_info[12].game_score = 0;
// 还原钟表1星 // 还原钟表1星
_s_task_game.game_info[13].game_oid = GAME_OID_HYZB_1; _s_task_game.game_info[13].game_oid = GAME_OID_HYZB_1;
_s_task_game.game_info[13].game_audio = &audio_game_hyzb_1; _s_task_game.game_info[13].game_audio = &audio_game_hyzb_1;
_s_task_game.game_info[13].game_supported_oid[0].oid = 0x40EF; _s_task_game.game_info[13].game_supported_oid[0].oid = 0x40FE;
_s_task_game.game_info[13].game_order = 0; _s_task_game.game_info[13].game_order = 0;
_s_task_game.game_info[13].game_timeout_seconds = 60; _s_task_game.game_info[13].game_timeout_seconds = 60;
_s_task_game.game_info[13].game_score = 0; _s_task_game.game_info[13].game_score = 0;
// 还原钟表2星 // 还原钟表2星
_s_task_game.game_info[14].game_oid = GAME_OID_HYZB_2; _s_task_game.game_info[14].game_oid = GAME_OID_HYZB_2;
_s_task_game.game_info[14].game_audio = &audio_game_hyzb_2; _s_task_game.game_info[14].game_audio = &audio_game_hyzb_2;
_s_task_game.game_info[14].game_supported_oid[0].oid = 0x41EF; _s_task_game.game_info[14].game_supported_oid[0].oid = 0x40FE;
_s_task_game.game_info[14].game_order = 0; _s_task_game.game_info[14].game_order = 0;
_s_task_game.game_info[14].game_timeout_seconds = 60; _s_task_game.game_info[14].game_timeout_seconds = 60;
_s_task_game.game_info[14].game_score = 0; _s_task_game.game_info[14].game_score = 0;
// 时间规划3星 // 时间规划3星
_s_task_game.game_info[15].game_oid = GAME_OID_SJGH_3; _s_task_game.game_info[15].game_oid = GAME_OID_SJGH_3;
_s_task_game.game_info[15].game_audio = &audio_game_sjgh_3; _s_task_game.game_info[15].game_audio = &audio_game_sjgh_3;
_s_task_game.game_info[15].game_supported_oid[0].oid = 0x42EF; _s_task_game.game_info[15].game_supported_oid[0].oid = 0x40FE;
_s_task_game.game_info[15].game_order = 0; _s_task_game.game_info[15].game_order = 0;
_s_task_game.game_info[15].game_timeout_seconds = 60; _s_task_game.game_info[15].game_timeout_seconds = 60;
_s_task_game.game_info[15].game_score = 0; _s_task_game.game_info[15].game_score = 0;
// 计算时间4星 // 计算时间4星
_s_task_game.game_info[16].game_oid = GAME_OID_JSSJ_4; _s_task_game.game_info[16].game_oid = GAME_OID_JSSJ_4;
_s_task_game.game_info[16].game_audio = &audio_game_jssj_4; _s_task_game.game_info[16].game_audio = &audio_game_jssj_4;
_s_task_game.game_info[16].game_supported_oid[0].oid = 0x43EF; _s_task_game.game_info[16].game_supported_oid[0].oid = 0x40FE;
_s_task_game.game_info[16].game_order = 0; _s_task_game.game_info[16].game_order = 0;
_s_task_game.game_info[16].game_timeout_seconds = 60; _s_task_game.game_info[16].game_timeout_seconds = 60;
_s_task_game.game_info[16].game_score = 0; _s_task_game.game_info[16].game_score = 0;
// 计算时间5星 // 计算时间5星
_s_task_game.game_info[17].game_oid = GAME_OID_JSSJ_5; _s_task_game.game_info[17].game_oid = GAME_OID_JSSJ_5;
_s_task_game.game_info[17].game_audio = &audio_game_jssj_5; _s_task_game.game_info[17].game_audio = &audio_game_jssj_5;
_s_task_game.game_info[17].game_supported_oid[0].oid = 0x44EF; _s_task_game.game_info[17].game_supported_oid[0].oid = 0x40FE;
_s_task_game.game_info[17].game_order = 0; _s_task_game.game_info[17].game_order = 0;
_s_task_game.game_info[17].game_timeout_seconds = 60; _s_task_game.game_info[17].game_timeout_seconds = 60;
_s_task_game.game_info[17].game_score = 0; _s_task_game.game_info[17].game_score = 0;

4
source/bsp/bsp_WT2605B.c

@ -60,11 +60,10 @@ void L2_WT2605B_init()
// 初始化功放控制引脚P26 // 初始化功放控制引脚P26
// 0 开启 1 关闭 // 0 开启 1 关闭
D_stdIO_P2(BITN6); D_stdIO_P2(BITN6);
L2_WT2605B_ON();
// 初始化音量 // 初始化音量
L2_WT2605B_VolumeControl(G.volume); L2_WT2605B_VolumeControl(G.volume);
L2_WT2605B_ON();
} }
void L2_WT2605B_ON() void L2_WT2605B_ON()
@ -79,6 +78,7 @@ void L2_WT2605B_OFF()
void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music) void L2_WT2605B_Broadcast(TS_SPEECH_AUDIO *music)
{ {
L0_uart3_sendArray((U8 *)music,9); L0_uart3_sendArray((U8 *)music,9);
L0_uart0_sendArray((U8 *)music,9);
} }
void L2_WT2605B_Broadcast_TPC(U8* GameID) void L2_WT2605B_Broadcast_TPC(U8* GameID)

1
source/bsp/bsp_config.c

@ -71,7 +71,6 @@ void L0_board_config(void)
D_stdIO_P3(BITN6); D_stdIO_P3(BITN6);
D_stdIO_P3(BITN7); D_stdIO_P3(BITN7);
D_stdIO_P2(BITN7); D_stdIO_P2(BITN7);
D_stdIO_P2(BITN6);
D_stdIO_P0(BITN2); D_stdIO_P0(BITN2);
D_HighI_P3(BITN4); D_HighI_P3(BITN4);

2
source/msp/UART3.c

@ -41,7 +41,7 @@ void L0_uart3_buf_init(void)
//串口协议解析专用字段 //串口协议解析专用字段
// ts_uart[uNum3].tp_handler = L0_uartN_overtime_callback; // ts_uart[uNum3].tp_handler = L0_uartN_overtime_callback;
ts_uart[uNum3].tp_handler = NULL; // ts_uart[uNum3].tp_handler = NULL;
ts_uart[uNum3].uartx = uNum3; ts_uart[uNum3].uartx = uNum3;
//串口初始化 //串口初始化

Loading…
Cancel
Save