赛元MB0036的可视化代码开发

赛元MB0036开发板概述

赛元MB0036开发板主控 MCU 芯片型号为 SC95F8767,集成触控模块及 ISP 烧录模块。其触控模块是一大特色,可以直接用于设计按键。新定义商城地址(新注册用户可免费申领MB0036)

开发板原理图及触控硬件设计方法

主控MCU中标注TKxx的引脚都可以用于设计触控按键开发。值得注意的是,开发板中对于外接低频晶振并未焊接元器件。

开发触摸按键时,需要添加CMOD参考电容,当采用高灵敏触控模式时,外接的CMOD电容容值范围位472~104,推荐使用103电容,CMOD参考电容的材质无特殊要求。

采用高可靠触控时,CMOD外接电容容值范围位332~473,同样推荐103电容,建议使用温漂小,精度高的电容。此外CMOD电容尽量靠近芯片。

设计触控按键时,由于原理位电容变化,因此走线时,距离芯片越远的按键,其触控面积应当越大。

其触摸按键形状设计方法

开发板中具体功能区域说明

1. 最上面红色位ISP烧录模块,采用的是CH340N,可用于ISP烧录

2. 黄色框位常规烧录接口,可以使用SC_Link Pro.(新注册的的用户有两张50元优惠券可以10元买个SC_Link Pro, 采用STM32F103C8T6设计,带屏幕的仿真器)

3. 绿色框位电压选择,链接type-c时,可以选择3.3V或者5V为芯片供电

4. 蓝色框中上面为滑条按键,下面为触控按键

易码魔盒EasyCodeCube

简介

        易码魔盒(EasyCodeCube)是赛元推出的代码自动生成工具(文中后续简称魔盒),目的是简化开发过程,降低用户的开发门槛。使用赛元的产品开发简便,容易复制到其他项目,降低客户开发的成本。下载地址

功能特点

   图形化编程 、用户无需关心底层代码

   自动生成标准化的底层配置代码 、驱动代码、逻辑代码

   完整的项目管理,易移植

   丰富的功能模块和示例提供学习、开发

   集成赛元配套工具,形成完整的软件生态

触控按键Demo

魔盒打开后的界面

在工程名称中输入新建的工程名称——>点击下一步会出现选择MCU界面

搜索SC95F8768,然后点击“点击这里开始工程”

选择TKDEMO-SpaceTouchKey,双击创建工程,在TK触控 Configuration中可以对触控引脚进行控制。

首先将P14~P21管脚设置输出模式,控制触控按键下的灯亮灭。再配置TK触控 Configuration中的普通按键通道,将TK2~TK7触控按键选中。

选中TK触控会在右边出现TK触控Configuration,选择TK2~TK7,作为触控按键输入方式

将MB0036开发板通过SC LINK Pro仿真器链接至电脑,点击TK触控Configuration中的配置按钮

点击已连接触控板,进入在板调教,随后会出现弹窗,点击确认即可

随后出现调控界面

通道选择在配置TK触控时已经设计好了,因此这里直接点击确认即可。6个触控按钮可以通过点击开始校准(从左至右分别表示TK2~TK7)。

以TK2为例,点击绿色的TK2开始校准:

启动调试,首先在界面上不要放任何东西,根据提示,再将手指放入TK2触控按键处。

触控调试完毕时,即可将TK2校准完毕

依次将TK3~TK7进行校准。校准完毕后的界面为

点击导出配置信息,即可将校准信息写入工程项目中,点击下一步或者用户程序配置。对程序过程进行配置。

可以点击生成按钮生成代码,也可以编译一下,看是否会出错。

这个表示编译无误,代码生成没问题。

通过进入UserCode代码块

添加代码

    if(exKeyValueFlag!=0)
    {
        switch(exKeyValueFlag)
        {
            case 0x0004: P17 = ~P17; break;
            case 0x0008: P14 = ~P14; break;
            case 0x0010: P15 = ~P15; break;
            case 0x0020: P20 = ~P20; break;
            case 0x0040: P16 = ~P16; break;
            case 0x0080: P21 = ~P21; break;
        }
    }

配置烧录参数,再次点击编译烧录,即可将代码烧录进去。

如果按键对灯无法控制,可能是触控参数未优化成功,可以打开S_TOUCHKEYCFG.H,将里面的代码替换为下述代码。

#ifndef __S_TOUCHKEYCFG_H__
#define __S_TOUCHKEYCFG_H__
#define			SOCAPI_SET_TOUCHKEY_TOTAL					6
#define			SOCAPI_SET_TOUCHKEY_CHANNEL					  0x000000FC
#define			SOCAPI_SET_TOUCHKEY_CHANNEL2			      0x00000000
unsigned int  code TKCFG[17] = {0,0,0,5,10,3000,200,100,2,0,0,4,0,1,65535,65535,24}; 
unsigned char code TKChannelCfg[9][8]={
0x05,0x25,0x04,0x08,0x0d,0x05,0x01,0x5E,
0x05,0x25,0x04,0x08,0x0f,0x05,0x01,0x5E,
0x05,0x25,0x04,0x08,0x0f,0x05,0x01,0x5E,
0x05,0x25,0x04,0x08,0x0c,0x05,0x01,0x5E,
0x05,0x25,0x04,0x08,0x11,0x05,0x01,0x5E,
0x05,0x25,0x04,0x08,0x0e,0x05,0x01,0x5E,
0x05,0x25,0x04,0x08,0x11,0x05,0x00,0xFA,
0x05,0x25,0x04,0x08,0x15,0x05,0x00,0xFA,
0x05,0x25,0x04,0x08,0x11,0x05,0x00,0xFA,
};
#endif

由于未作延时消抖等功能,因此按键会出现按一下闪一下的情况。有机会后面再优化。

  • 30
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值