6. JL_MIO功能

JL_MIO用于在音频文件中添加一些波形信息,我司芯片环境中可以使用这些波形信息进行相应的控制。mio文件制作详情见JLmio使用说明文档,本章介绍mio在SDK中的应用。

6.1. JLmio一般流程

6.1.1. 使用JLmio.exe创建mio文件

详情见JLmio使用说明。生成的mio文件会在工具目录的Data文件夹下;

"mio文件生成位置“

图1 mio文件生成位置

6.1.2. 使用打包工具将音频文件与所制成的mio文件放于同一目录下

打包工具请参考2.3打包工具使用,注意:音频文件需要与生成的mio文件放于同一目录下;生成目录文件时,不能将mio放在目录的第一个文件位置处,否则音乐播放可能会失败!

"mio文件打包位置顺序注意事项“

图2 mio文件打包位置顺序注意事项

"mio文件正确打包位置顺序示意图“

图3 mio文件正确打包位置顺序示意图

6.1.3. 在download.bat中添加相应mio文件夹

在download.bat中添加所打包的包含音频文件与mio文件的文件夹目录dir_mio,可放在dir_a文件夹后的任意位置;

"将dir_mio文件夹添加进下载目录中“

图4 将dir_mio文件夹添加进下载目录中

6.1.4. 在app_music.c中添加相应mio文件夹

在app_music中添加所打包的包含音频文件与mio文件的文件夹目录,可放在任意位置并用按键进行文件夹切换;

"在app_music中添加mio文件夹“

图5 在app_music中添加mio文件夹

6.1.5. 在mio_api.c中将相应宏开关打开

在mio_api中将MIO_EN宏定义打开即可,SDK默认使用1路PWM(PA15)以及2路IO口(PA1与PA2)作为示例,用户可自行添加并完善功能;注意:mio功能会占用相应引脚,若不用mio功能需关闭改宏开关。

"mio_pwm与mio_io宏定义配置“

图6 mio_pwm与mio_io宏定义配置


6.2. JLmio接口介绍

6.2.1. void mio_a_pwm_init(u32 chl)

此函数实现mio_pwm通道输出的初始化,其中参数:

1、chl:需要进行初始化的pwm通道编号(mio最多支持4路pwm通道);

6.2.2. void mio_a_pwm_run(u32 chl, u32 pwm_var)

此函数实现mio_pwm通道输出,其中参数:

1、chl:正在输出的pwm通道编号;
2、pwm_var:mio文件中读取到的pwm数值,可用于配置pwm输出占空比;

6.2.3. void mio_a_io_init(u32 mask)

此函数实现mio_io通道输出的初始化,其中参数:

1、mask:需要进行初始化的io通道(mio最多支持(16-pwm通道)路io通道);
    ① mio文件中设置的每一个io通道依次对应mask中每个位;
    ② 如单io通道mask会传入0x01,双io通道mask会传入0x3,以此类推;

6.2.4. void mio_a_io_run(u32 mask, u32 io_ver)

此函数实现mio_io通道输出,其中参数:

1、mask:需要进行初始化的io通道;
2、io_ver:mio文件中读取到的io数值,可用于配置IO口的电平;