减少开发难度,轻松修改参数,让模块开发不再头疼
一、内容介绍
本次代码教学的初衷是减少用户代码开发使用难度,帮助用户快速上手对应型号模块所搭配的套件。套件代码均可在亿佰特官网下载,所有套件型号如下:
支持套件列表:
| 系列 | 型号 |
|---|---|
| E22系列 | E22-400TBL-SC、E22-400TBH-SC、E22-900TBL-SC、E22-900TBH-SC |
| E220系列 | E220-400TBL-SC、E220-400TBH-SC、E220-900TBL-SC、E220-900TBH-SC |
| E32系列 | E32-433TBL-SC、E32-433TBH-SC、E32-900TBL-SC、E32-900TBH-SC |
| E22 MBL系列 | E22-400MBL-SC、E22-400MBH-SC、E22-900MBL-SC、E22-900MBH-SC |
| E220 MBL系列 | E220-400MBL-SC、E220-400MBH-SC、E220-900MBL-SC、E220-900MBH-SC |
| E32 MBL系列 | E32-400MBL-SC、E32-400MBH-SC、E32-900MBL-SC、E32-900MBH-SC |
| E290系列 | E290-400MBL-SC(3029)、E290-400MBH-SC(3029)、E290-400MBL-SC(3060)、E290-400MBH-SC(3060) |
本次代码教学内容有:
- 轰鸣器控制
- 发送数据包时间间隔控制
- 发送数据包数量控制
- 变更开屏LOGO
二、轰鸣器控制
轰鸣器在代码控制逻辑中,每次按按键会触发一小段轰鸣器的声响。如果想取消每次按键的轰鸣器声音,按照图2.1所示,删掉这3行代码,就能关闭按键的提示音,改完之后见图2.2所示。

图2.1
图2.2
如果想使用轰鸣器功能,如接收到一包数据就发出一声轰鸣声,则按照图2.3所示,在这两行代码中间插入函数buzzer_button_press();,修改之后见图2.4所示。

图2.3
图2.4
三、发送数据包时间间隔控制
套件默认程序是每轮每次一秒一包数据,发送10次为一轮。如果想修改发送的时间间隔,例如把一秒发送一次改为10秒发送一次,修改方式如下:
如图3.1所示代码,代码中的1000对应1000毫秒,同理,2000对应2秒,3000对应3秒,依次类推。这里改成10秒发一包数据,则修改为10000,修改完成之后的代码如图3.2所示。

图3.1

图3.2
四、发送数据包数量控制
套件默认程序是每轮固定发送10包数据,可以通过按键进入设置修改发送数据的次数,修改的范围是10-100。如果想增大这个范围区间,例如想设置为890-990包的设置范围,且默认每轮发送900包,请按照图4.1和图4.2所示修改代码。

图4.1

图4.2
五、变更开屏LOGO
5.1 显示图片的选择
套件默认的开屏LOGO是“亿佰特”公司的标志图片。如果想要替换,请根据如下代码进行操作更换。
首先要确认SC套件的屏幕像素是128×64的,所以准备的图片尺寸需要在这个范围内。
准备一个需要显示在屏幕上的图片,使用Windows自带的图片查看器,然后按照图5.1和图5.2所示修改图片尺寸,尺寸一定要在128×64这个范围以内。

图5.1

图5.2
把保存的图片通过下面这个网址的工具进行转换,如图5.3和图5.4所示。
https://convertio.co/zh/image-converter/

图5.3

图5.4
然后下载Notepad++,通过这个软件打开转换后的文件。软件下载地址:
https://notepad-plus-plus.org/downloads/
打开之后的界面如图5.5所示。

图5.5
5.2 代码修改
打开代码,在Middlewares/MultMenu文件夹中找到application.c。按照图5.6所示,把打开的.XBM文件中的数组,复制粘贴到代码相应位置。

图5.6
然后修改OLED_DrawXBMP,如图5.7所示修改代码。参数修改的逻辑如下:
这个函数里面一共5个参数,只需要关心前面4个变量值。通过下面公式去计算:
公式:
其中:
- x:参数值(第1、2个参数)
- k:屏幕的宽度像素或高度像素
- n:目标图片的宽度像素或高度像素
计算过程示例(以64×64的图片为例):
- 第1个参数(X坐标):(128-64)/2 - 1 = 31
- 第2个参数(Y坐标):(64-64)/2 - 1 = 0
- 第3个参数:图像的宽度,为64
- 第4个参数:图像的高度,为64
所以最终的函数为:
OLED_DrawXBMP(31, 0, 64, 64, ebyte_logo);
最后编译下载代码即可。

图5.7
总结
通过以上四个示例,你可以轻松掌握:
- 蜂鸣器的开启/关闭及触发逻辑
- 发送时间间隔的灵活调整
- 发送数据包数量的自定义范围
- 开屏LOGO的个性化替换
代码开发不再难,跟着步骤一步步来,你也能快速上手Exx系列套件!如有疑问,欢迎在评论区留言交流~