[原创] 用FRDM-KL25Z做USB 鼠标

dcexpert   2015-2-13 10:17 楼主
用MBed,可以很容易的实现USB设备的控制。下面的程序,利用Mbed的USB库,几分钟就把FRDM-KL25Z开发板模拟成一个USB鼠标。
  1. #include "mbed.h"
  2. #include "USBMouse.h"
  3. USBMouse mouse;
  4. int main() {
  5. int16_t x = 0;
  6. int16_t y = 0;
  7. int32_t radius = 10;
  8. int32_t angle = 0;
  9. while (1) {
  10. x = cos((double)angle*3.14/180.0)*radius;
  11. y = sin((double)angle*3.14/180.0)*radius;
  12. mouse.move(x, y);
  13. angle += 3;
  14. wait(0.02);
  15. }
  16. }
先通过OpenSDA下载程序,然后取下USB线,连接到另外一个USB口上。如果没有错误,鼠标就会按顺时针方向画圈了。第一次时连接时系统会重新识别设备,速度慢一点,有时会出现识别设备错误,需要重新连接USB或者按下复位键。
USB_Mouse.zip (486.62 KB)
(下载次数: 15, 2015-2-13 10:12 上传)
本帖最后由 dcexpert 于 2015-2-13 11:23 编辑

回复评论 (12)

感谢分享
昵称:灰小子
点赞  2015-2-13 11:15
不错啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
我的博客
点赞  2015-2-13 16:21
不错啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
点赞  2015-2-13 17:18
MBed的USB库可以单独拿来用吗?
点赞  2015-2-13 18:37
USB 都被封装得如此简单了,惊叹。
点赞  2015-2-13 20:58
学习中,看了一下,确实不错,有没有使用说明文档,我想找数据发送和接收的例子。 本帖最后由 liwenz 于 2016-5-15 06:47 编辑
点赞  2016-5-15 06:41
引用: liwenz 发表于 2016-5-15 06:41
学习中,看了一下,确实不错,有没有使用说明文档,我想找数据发送和接收的例子。

需要哪方面的文档和例子?Mbed官网有不少,但都是英文的。
点赞  2016-5-15 13:10
引用: dcexpert 发表于 2016-5-15 13:10
需要哪方面的文档和例子?Mbed官网有不少,但都是英文的。

是的,我看了你的例子程序,然后就找到mbed 的网站了,里面很多说明。
也很多资料 。
我没看明白这个mbed 是个什么性质的网站。但对我们学习很有帮助。
我正尝试调试那个利用usb 做echo的程序。
点赞  2016-5-15 18:12
引用: liwenz 发表于 2016-5-15 18:12
是的,我看了你的例子程序,然后就找到mbed 的网站了,里面很多说明。
也很多资料 。
我没看明白这个mb ...

mbed是arm公司搞的,几个主要的芯片厂家都参与组成联盟,最早好像是NXP、ST、freescale等几个公司为主发起的。现在也主要往物联网方面发展。

使用mbed的中间层,可以非常容易的实现程序移植,不用太关心底层驱动,极大简化了开发难度。
点赞  2016-5-15 20:26
引用: liwenz 发表于 2016-5-15 18:12
是的,我看了你的例子程序,然后就找到mbed 的网站了,里面很多说明。
也很多资料 。
我没看明白这个mb ...

可以完全不使用ST、freescale等各厂家自己的库,不同的芯片使用方法都是一样的。

缺点一个是效率会稍微降低,代码会变大一些(Mbed大约会占用10多K空间)。再就是支持的芯片不是太多。
点赞  2016-5-15 20:29
引用: dcexpert 发表于 2016-5-15 20:26
mbed是arm公司搞的,几个主要的芯片厂家都参与组成联盟,最早好像是NXP、ST、freescale等几个公司为主发 ...

听你这么说,就很明白了,谢谢你的分享。
对于我来说,这挺好,效率稍低一点都没关系,先做出来再说。也许自己还做不出这么高效率来。
点赞  2016-5-15 22:17
引用: dcexpert 发表于 2016-5-15 20:29
可以完全不使用ST、freescale等各厂家自己的库,不同的芯片使用方法都是一样的。

缺点一个是效率会稍 ...

网站上说免费提供online IDE, 我觉得也不错,前天还打算尝试一下。
今天早上一看,
Program online

The mbed online Integrated Development Environment (IDE) offers a full programming environment designed to work with mbed APIs and boards. The IDE has access to hundreds of open source libraries and makes developing software for IoT systems straightforward and efficient. The IDE is being revamped, and more details will be available soon.

真想尝试一下。
点赞  2016-5-16 06:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复