572|0

1455

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【SoC 6 BLE原型开发板】+ 串口通信应用篇 [复制链接]

本帖最后由 jinglixixi 于 2024-1-19 00:54 编辑

上次参数例程中的串口通信程序,它可以实现数据的收发处理。

近于使用串口的设备及功能模块有许多,这次就将其用在MP3功能模块的控制上。

 

图1  MP3功能模块

 

由于PSoC Creator不像大多数IDE那样具有上一次所用工程的记忆性,因此需选取“Open Existing Project”来打开上一次所使用的例程,见图2所示。

 

图2 选取已有项目

在所选工程后,其界面如图3所示。

 

图3 打开项目

由图3可知,串口使用的接收引脚为P5.0,使用的发送引脚为P5.1。

此外,由图4可知该串口所设置的波特率为115200 bps。

 

图4串口通信参数

 

由于MP3功能模块所使用的波特率为9600 bps,因此需将程序中的波特率修改为9600 bps。

此外,由于控制MP3功能模块的指令要占10个字节,为便于控制便将其存入数组中。

存放指令的数字其格式如下:

uint8_tcmd3[] = {0X7E, 0xFF, 0x06, 0X03, 00, 00, 01, 0xFE, 0xF7, 0XEF};  //*play index

uint8_tcmd6[] = {0X7E, 0xFF, 0x06, 0X06, 00, 00, 10, 0xFE, 0xE5, 0XEF};  //*set  Volume

实现指令控制MP3功能模块播放指定音乐的程序为:

int main(void)
{
uint32_tread_data;
cy_en_scb_uart_status_tinitstatus;
uint8_t i;
Cy_GPIO_Write(RED_LED_ERROR_0_PORT, RED_LED_ERROR_0_NUM, LED_OFF);
initstatus = Cy_SCB_UART_Init(UART_HW, &UART_config, &UART_context);
if(initstatus!=CY_SCB_UART_SUCCESS)
{
         handle_error();
}
Cy_SCB_UART_Enable(UART_HW);
setVolume(18);
for(i=0;i<10;i++)
{
         Cy_SCB_UART_Put(UART_HW, cmd6[i]);   // 设置音量
}
for (;;)
{
        if (0UL != Cy_SCB_UART_GetNumInRxFifo(UART_HW))
        {
            read_data = Cy_SCB_UART_Get(UART_HW);
            playn(read_data);
            for(i=0;i<10;i++)
            {
                  Cy_SCB_UART_Put(UART_HW, cmd3[i]);  // 播放指定音乐
            }
        }
}
}

经程序下载,其测试效果如图5至图7所示,说明输出指令正确。

 

图5 设置音量

在指定播放第一首后,其发出的播放指令如图6所示。

 

图6 播放第一首

若指定播放第二首,则发出的播放指令如图7所示。

 

图7 播放第二首

接下来要做的就是实际验证,为此要将MP3功能模块的RX引脚连接到P5.1,其实物连接见图9所示。

 

图8 开发板引脚排列

 

图9 实物连接

 

演示视频:

MP3

 

此帖出自RF/无线论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表