[GW低功耗蓝牙MCU] GW3323集蓝牙、音频播放、字库存放、USB打印于一体在云打印机上的应用

[复制链接]
79|0
Lana636 发表于 2025-10-28 15:47 | 显示全部楼层 |阅读模式
本帖最后由 Lana636 于 2025-10-28 17:31 编辑

极海GW3323芯片,不仅有蓝牙,USB通信,还可通过uart外接wifi模块,实现wifi 通信;
GW3323的DAC支持播放mp3,wav等音频文件;
GW3323的内置8MBflash,不仅能存放打印字库,还能放音频文件。
248436900741379ad1.png


GW3323在蓝牙功能上使用
1、初始化
bt_init(); bsp_bt_init();
2、接收函数
ble:gatt_callback_app();
spp:spp_rx_callback();
3、发送函数
ble:ble_send_packet();
spp:bt_spp_tx();
4、流控函数
spp_set_rx_new_credit(1);


GW3323在USB功能上使用
1、初始化
打开CLKCON1、CLKGAT0、CLKGAT1相关寄存器;然后在usr_tmr5ms_thread()
里会调用usb_detect();然后检测到不同状态会进入不同的回调函数。
例如监测到有USB插入动作,就会进入 usb_insert_callback 回调函数。

2、接收函数
bulk_rx_handler();
3、发送函数
usb_bulk_send();
4、流控函数
ude_rx_ack();


GW3323在wav音频播放/字库功能上使用
字库文件和音频文件要放在同一目录中,同一加载到芯片中,现在暂不支持分区加载。
res_user.xm执行res_user文件是按照字母大小顺序加载的,所以建议音频用相同的头命名,例如A_1hello,A_2bye;
字库用相同的头命名,例如C_1char,C_2Chinese.
为了让新音频包或者新字库包 不覆盖后面的内容,一般会在音频和字库中插入全0的数据,如B_allzero;文件大小有客户自己根据应用设定。

1、初始化
440556900795e542ca.png 82466900836be85ec.png
  把音频等文件放在对应地址,初始化调用
     dac_init();
    dacr_output(0);//让DAC_L引脚输出低电平,方便接音频功放芯片;
编译时会自动在res_userbin.h文件中生成每条音频的起始地址和长度。
注意此地址是虚拟地址,非物理地址,从app.xm的USERBIN_START_ADDR开始。
2、调用函数
  wav_res_play(RES_BUF_WAV_A_WAV, RES_LEN_WAV_A_WAV);//播放音频数据
  os_spiflash_read(ziku_buff,RES_BUF_WAV_ZIKU_BIN,ziku_len);//调用字库数据


3、升级函数
os_spiflash_program1(ziku_newbuff,WAV_START_ADDR,WAV_SUM_LEN);//升级音频文件
os_spiflash_program1(ziku_newbuff,RES_BUF_WAV_ZIKU_BIN,ZIKU_SUM_LEN);//升级字库文件







以下是蓝牙打印机在手机上的图标和蓝牙协议方面的数据






8086668ef414e411bc.png
2893268f6e0569d14c.png
2107268f6e060d0d73.png
1466268f6e2e54a545.png
42201690078e59af18.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部