337|3

1452

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【翌创ET6001测评】串口通讯与MP3播放模块控制 [复制链接]

 

由资料可知ET6001配有8个UART,借助UART不但可以实现串行通讯,还可以控制具有相应功能的串口设备,如串口屏、双PWM调节模块、超声波测距仪、温度调控器、数据记录模块等。

 

为便于使用,这里是用J9接口的UART0来控制一款具有串口控制功能的MP3播放模块。

 

 

图1 J9接口

 

在具体实现MP3播放模块控制前,先要解决UART0的数据发送功能。

由于MP3播放模块的波特率9600bps,故 UART0的初识化函数为:

static void UART0_init(void)
{
    UART_InitTypeDef init;
	init.baudRate         = 9600;
    init.wordLength       = UART_WORDLENGTH_8B;
    init.stopBits         = UART_STOPBITS_1;
    init.parity           = UART_PARITY_NONE;
    init.mode             = UART_MODE_NORMAL;
    init.DMAMode          = UART_DMA_MULTI_MODE;
    init.irqEnableFlag    = UART_IT_NONE;
    init.hwFlowCtl        = UART_HWFLOW_DISABLE;
    init.TXFIFOThreshold  = UART_TXFIFO_THRESHOLD_0BYTES;
    init.RXFIFOThreshold  = UART_RXFIFO_THRESHOLD_1BYTES;
    UART_Init(UART0, &init);
}

 

为进行串口发送字节指令的测试,其主程序为:

uint8_t zl[10]={0x7E,0xFF,0x06,0x03,0x00,0x00,0x01,0xFE,0xF7,0xEF};
int main(void)
{
	    int n=1;
        UART0_init();
		UART_Transmit(UART0, zl, 10, BLOCK_TRANSMIT_FIFO);
        while (1);
}

 

其中,数组zl中存放放的是一条播放指令,共有10个字节。

 

为测试串口的字节发送功能,需将UART0与USB转TTL模块相连,然后通过串口调试工具进行观察;

 

经程序的编译和运行,其结果如图1所示,说明字节指令发送有效。

 

 

图1 串口测试

 

在此基础上,为了能够顺序的播放每一首歌曲,特在引脚GPIO2_3上了解一个触摸按键。

 

对触摸按键所用引脚的初始化函数为:

static void KEY_Init(void)
{
    IOC_Init_TypeDef init;
    IOC_ConfigStructInit(&init);
    init.mode = IOC_AF_MODE_3;
    init.dir = GPIO_DIR_IN_OUT;
    init.pull = IOC_PULL_UP;
    IOC_Config(IOC_PIN_GPIO_PLL_REF, &init);
    GPIO_PortOutputDisable(GPIO2, GPIO_PIN_03);
}

 

这样就可以通过触摸按键来控制播放内容,即每触动一次按键,就自动指向下一首歌曲来播放。

 

实现MP3播放控制的主程序为:

int main(void)
{
	    int n=1;
        UART0_init();
		KEY_Init();
        while (1)
		{
			  if(GPIO_ReadPin(GPIO2, GPIO_PIN_03)==SET)
			  {
					  n=n+1;
					  playn(n);
					  UART_Transmit(UART0, zl, 10, BLOCK_TRANSMIT_FIFO);
			  }
			  delay(1000);
		}
}

 

其中,函数 playn()的功能是将n的计数值转换为相应的播放控制指令。

 

经程序的编译和运行,其结果如图2所示,按键按键控制有效,能自动形成相应的播放指令。

 

图2 测试效果

 

这样在连接MP3播放模块的情况下,就可以播放音乐了。

 

MP3播放模块的引脚分布如图3所示。

 

图3 引脚分布

 

在最简单的使用情况下,需连接电源及将SPK_1和SPK_2接到扬声器外,只将RX引脚接到开发板的UART_TXD引脚即可。

 

此外,通过串口还可相数据记录模块发送数据以供记录。

这里所说的数据记录模块是一种串口设备,其工作波特率为9600bps,在接收到开发板所发送的数据时,就将数据完整地记录到TF卡的文件中。在结束数据记录后,通过读取TF卡可见到相应的记录文件,其文件名由urc+数字串构成。以NTC温度检测的记录文件文件为例,其形式如图4所示。

 

 

图4 记录形式

 

最新回复

数据记录模块是一种串口设备,其工作波特率为9600bps,在接收到开发板所发送的数据时,就将数据完整地记录到TF卡的文件中,是这样   详情 回复 发表于 2024-11-3 08:30
点赞 关注
 
 

回复
举报

5998

帖子

6

TA的资源

版主

沙发
 

8通道的UART,这接口确实算多的,一般也就4个左右  

点评

的确是这样  详情 回复 发表于 2024-11-3 08:33
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

6542

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

数据记录模块是一种串口设备,其工作波特率为9600bps,在接收到开发板所发送的数据时,就将数据完整地记录到TF卡的文件中,是这样

 
 
 

回复

1452

帖子

1

TA的资源

五彩晶圆(初级)

4
 
秦天qintian0303 发表于 2024-11-2 23:17 8通道的UART,这接口确实算多的,一般也就4个左右  

的确是这样

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表