2019 电子设计大赛 激光炮题目 写的程序
依赖:
usart_all.h
usart_all.c
见 STM32超级通用串口程序(秘籍)
代码:
speak.c
#include "usart_all.h"
void SPEAK_Init()
{
USART2_Init(9600);
//将音量设为最大
USART2_PutChar(0x7e);
USART2_PutChar(0x04);
USART2_PutChar(0x31);
USART2_PutChar(0x1e);
USART2_PutChar(0x2b);
USART2_PutChar(0xef);
}
void SPEAK_Display(u8 num)
{
switch (num)
{
case 1:
/* 手动模式 */
USART2_PutChar(0x7e);
USART2_PutChar(0x05);
USART2_PutChar(0x41);
USART2_PutChar(0x00);
USART2_PutChar(0x01);
USART2_PutChar(0x45);
USART2_PutChar(0xef);
break;
case 2:
/* 自动模式 */
USART2_PutChar(0x7e);
USART2_PutChar(0x05);
USART2_PutChar(0x41);
USART2_PutChar(0x00);
USART2_PutChar(0x02);
USART2_PutChar(0x46);
USART2_PutChar(0xef);
break;
case 3:
/* 扫描模式 */
USART2_PutChar(0x7e);
USART2_PutChar(0x05);
USART2_PutChar(0x41);
USART2_PutChar(0x00);
USART2_PutChar(0x03);
USART2_PutChar(0x47);
USART2_PutChar(0xef);
break;
case 4:
/* 校准模式 */
USART2_PutChar(0x7e);
USART2_PutChar(0x05);
USART2_PutChar(0x41);
USART2_PutChar(0x00);
USART2_PutChar(0x04);
USART2_PutChar(0x48);
USART2_PutChar(0xef);
break;
case 5:
/* 一键启动 */
USART2_PutChar(0x7e);
USART2_PutChar(0x05);
USART2_PutChar(0x41);
USART2_PutChar(0x00);
USART2_PutChar(0x05);
USART2_PutChar(0x49);
USART2_PutChar(0xef);
break;
case 6:
/* 发射完成 */
USART2_PutChar(0x7e);
USART2_PutChar(0x05);
USART2_PutChar(0x41);
USART2_PutChar(0x00);
USART2_PutChar(0x06);
USART2_PutChar(0x4a);
USART2_PutChar(0xef);
break;
default:
break;
}
}