Exx-xxxxxx-SC套件代码教学:从蜂鸣器控制到开屏LOGO,手把手教你快速上手!

减少开发难度,轻松修改参数,让模块开发不再头疼

一、内容介绍

本次代码教学的初衷是减少用户代码开发使用难度,帮助用户快速上手对应型号模块所搭配的套件。套件代码均可在亿佰特官网下载,所有套件型号如下:

支持套件列表:

系列 型号
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所示。

4775e386-1887-11f1-96ea-92fbcf53809c.jpg

图2.1

图2.2

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

47ac5434-1887-11f1-96ea-92fbcf53809c.jpg

图2.3

图2.4


三、发送数据包时间间隔控制

套件默认程序是每轮每次一秒一包数据,发送10次为一轮。如果想修改发送的时间间隔,例如把一秒发送一次改为10秒发送一次,修改方式如下:

图3.1所示代码,代码中的1000对应1000毫秒,同理,2000对应2秒,3000对应3秒,依次类推。这里改成10秒发一包数据,则修改为10000,修改完成之后的代码如图3.2所示。

47d15a9a-1887-11f1-96ea-92fbcf53809c.jpg

图3.1

47e30e52-1887-11f1-96ea-92fbcf53809c.jpg

图3.2


四、发送数据包数量控制

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

481ac194-1887-11f1-96ea-92fbcf53809c.jpg

图4.1

482fae92-1887-11f1-96ea-92fbcf53809c.jpg

图4.2


五、变更开屏LOGO

5.1 显示图片的选择

套件默认的开屏LOGO是“亿佰特”公司的标志图片。如果想要替换,请根据如下代码进行操作更换。

首先要确认SC套件的屏幕像素是128×64的,所以准备的图片尺寸需要在这个范围内。

准备一个需要显示在屏幕上的图片,使用Windows自带的图片查看器,然后按照图5.1图5.2所示修改图片尺寸,尺寸一定要在128×64这个范围以内。

484a15ac-1887-11f1-96ea-92fbcf53809c.png

图5.1

485f0656-1887-11f1-96ea-92fbcf53809c.png

图5.2

把保存的图片通过下面这个网址的工具进行转换,如图5.3图5.4所示。

https://convertio.co/zh/image-converter/

487d74c4-1887-11f1-96ea-92fbcf53809c.png

图5.3

48925358-1887-11f1-96ea-92fbcf53809c.png

图5.4

然后下载Notepad++,通过这个软件打开转换后的文件。软件下载地址:

https://notepad-plus-plus.org/downloads/

打开之后的界面如图5.5所示。

48aee90a-1887-11f1-96ea-92fbcf53809c.png

图5.5

5.2 代码修改

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

48c19adc-1887-11f1-96ea-92fbcf53809c.jpg

图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);

最后编译下载代码即可。

48d71240-1887-11f1-96ea-92fbcf53809c.jpg

图5.7


总结

通过以上四个示例,你可以轻松掌握:

  • 蜂鸣器的开启/关闭及触发逻辑
  • 发送时间间隔的灵活调整
  • 发送数据包数量的自定义范围
  • 开屏LOGO的个性化替换

代码开发不再难,跟着步骤一步步来,你也能快速上手Exx系列套件!如有疑问,欢迎在评论区留言交流~

Gravatar

About 奥洁自由人

作者文章