设为首页收藏本站自媒体平台

研发设计门户网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1436|回复: 0
打印 上一主题 下一主题

Microsoft .NET Micro Framework移植开发笔记6之电容触摸按键实验

[复制链接]

13

主题

16

帖子

164

积分

版主

Rank: 7Rank: 7Rank: 7

积分
164
跳转到指定楼层
楼主
发表于 2015-7-14 14:00:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

高速电路PCB网,专注于嵌入式方案,信号完整性和电源完整性仿真分析,高速电路PCB设计,各种EDA工具(Cadence\Mentor\\AD\\CAM\ANSYS HFSS)交流学习。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
好久没更新笔记了,主要最近比较忙,目前在搞 ARM9 S3C2416的MF移植,就把STM32的暂时搁了,前两天S3C2416的移植有一个比较大的进展。就抽空来继STM32的移植。这次的移植比较有突破性,之前我移植和做的实验都是基于MF官方本身就支持的外设。假如官方没有支持的外设驱动怎样办,如果完全可以由自己来定义外设驱动接口,然后让C#代码来调用,这样的话MF的实用性大大提高,我们完全可以自己让MF来实现我们所要的外设,不再受官方的限制。
今天终于实现这一个功能,这里我移植封装了原子哥的电容触摸按键实验,完全是由自己定义的驱动接口,然后把这接口都封装成DLL文件,在VS里增加引用就可以调用这些接口。
namespace LLFeng
{
    public class TPAD
    {
        public TPAD();

        public static void TIM5_CH2_Cap_Init(ushort arr, ushort psc);
        public static ushort TPAD_Get_MaxVal(uint n);
        public static ushort TPAD_Get_Val();
        public static ushort TPAD_Init(uint systick);
        public static void TPAD_Reset();
        public static ushort TPAD_Scan(uint mode);
    }
}
先看接口函数,完全是封装了原子哥的TPAD,没做其它的改动。电容触摸按键实验的原理大家都清楚,原子哥的教程中都有详细的说明。其实用MF的固件的话,你压根就不需要去了解底层是什么原理,你只要知道接口函数的参数值跟返回值,知道函数怎么用就可以了。
再看C#代码:
跟原子哥实验中的操作一样先调用LLFen.TPAD.TPAD_Init()函数进行初始化,然后通过判断LLFeng.TPAD.TPAD_Scan()函数的返回值来知道电容触摸键是否被下,按下一次,led1的状态就取反一次。点调试,把代码部署到战舰开发板,看到红色LED灯在闪烁的时候,用手触摸一次触摸区域,绿色的LED就会亮,再触摸一次就会灭掉。具体相关的细节,大家可以看附件上的C#工程源代码。










到目前为止,距上次的固件更新,这次的固件,有三个修改:
1、      MF系统节拍的时钟已经改成用Systick来驱动,官方的是要占用三个定时器来驱动,改用Systick就可以把这三个定时空出来。
2、       封装了蜂鸣器直接底层驱动的接口,直接调用LLFeng.Beep.beepon() 和LLFeng.Beep.beepoff()这两个函数就可以直接的让蜂鸣器开跟关。
3、      封装了电容触摸驱动的接口,让MF在战舰开发板上也可以用电容触摸。




附件1: LED.zip (文件大小: 6 MB 下载次数:37次)

附件2: TinyCLR.bin (文件大小: 372 KB 下载次数:26次)

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

内容正在加载中,请稍候……

QQ|我的微博|小黑屋|手机版|Archiver|YanFa.Tech(gaosupcb Inc.)    

GMT+8, 2024-4-24 12:20 AM , Processed in 0.057455 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表