历史上的今天
返回首页

历史上的今天

今天是:2025年12月15日(星期一)

正在发生

2022年12月15日 | PS2无线遥控手柄与STM32单片机通信

2022-12-15 来源:zhihu

PS2无线遥控手柄

接下来要做一个小车玩玩,在网上淘了一个PS2无线遥控手柄,用于控制小车的前进、后退等功能。

实物图如下:

其中有两个PS2游戏摇杆,对应的驱动原理参见下文:

PS2游戏摇杆原理及控制实现

接收器

与这个手柄配套的还有一个接收器,用于接收PS2无线遥控手柄发送过来的数据

该接收器一共有六个引脚,分别定义如下:

注意:

  1. 当接收器上的绿灯常亮时,证明手柄和接收器配对成功,可以正常进行数据通讯。如果手柄和接收器断开了,按手柄上的START键即可恢复配对;

  2. 当手柄上的MODE指示灯没有点亮的时候,游戏摇杆四个方向输出按键键码值;当点击MODE按键后,手柄上的MODE指示灯变亮(红色),此时游戏摇杆四个方向输出AD值。

硬件连接

接收器与STM32连接如下:

程序移植

因为这个手柄通讯协议在手册中写的不详细,咱们就不分析协议部分了,我将商家提供的驱动文件放到了咱们的工程目录中,具体位置如下所示:

添加驱动文件

添加工程包含路径

添加pstwo.c文件

修改宏定义

修改GPIO初始化代码

上面的宏定义和GPIO的初始化代码要跟实际相连的GPIO一致。

main.c文件直接使用即可,不用修改了。

结果展示

测试出了所有按键的键码值,留着备用:

只需要占用4个GPIO口即可实现16个按键的扩展,而且具有无线功能,作为小车的遥控器太适合了。


推荐阅读

史海拾趣

Fischer Connectors公司的发展小趣事

Fischer Connectors公司在电子行业中的五个发展故事

故事一:创立与初期发展

Fischer Connectors的故事始于1954年,由真空技术专家Walter Werner Fischer在瑞士沃州的莫尔日创立。他凭借对技术的热爱和执着,开发出了世界上第一个高品质密封连接器,专为工业应用而设计。这一创新产品迅速赢得了市场的认可,为公司的发展奠定了坚实的基础。在随后的几年里,Fischer Connectors不断优化产品,并于1962年注册了推拉锁定系统的国际专利,进一步巩固了其在连接器行业的领先地位。

故事二:全球扩张与国际合作

随着业务的不断增长,Fischer Connectors开始积极寻求全球扩张的机会。1988年,公司在英国成立了第一家子公司,标志着其国际商业活动的正式开始。此后,Fischer Connectors相继在欧洲的德国、意大利、法国以及美国等地开设了子公司,形成了全球性的生产和服务网络。这些子公司不仅为当地市场提供了高质量的连接器产品,还促进了Fischer Connectors在全球范围内的技术创新和市场拓展。

故事三:技术创新与产品线扩展

Fischer Connectors始终将技术创新作为企业发展的核心驱动力。进入21世纪后,公司推出了一系列具有创新性的连接器产品,如Fischer Core系列塑料连接器、AluLite™超轻铝连接器以及Fischer UltiMate™系列超坚固连接器等。这些产品不仅满足了不同行业对连接器性能的多样化需求,还推动了整个电子行业的技术进步。同时,Fischer Connectors还不断扩展其产品线,涵盖了多极低电压连接器、同轴高电压连接器等多个领域,进一步巩固了其在连接器市场的领先地位。

故事四:应对行业挑战与定制化解决方案

随着电子行业的快速发展,连接器和线缆系统的应用环境越来越复杂多样。Fischer Connectors凭借其在技术、质量和服务方面的优势,积极应对行业挑战,为客户提供定制化的解决方案。公司拥有一支专业的研发团队和客户服务团队,能够深入了解客户的实际需求,量身定制出最适合客户应用方案的连接器与线缆系统。这种以客户为中心的服务理念赢得了广大客户的信赖和支持。

故事五:数字化转型与可持续发展

近年来,Fischer Connectors积极响应数字化转型的浪潮,利用先进的技术手段提升生产效率和产品质量。公司投入大量资源建设智能化生产线和数字化管理系统,实现了从原材料采购、生产加工到成品出库的全流程信息化管理。同时,Fischer Connectors还注重可持续发展,致力于开发环保型连接器和线缆系统,减少对环境的影响。这些努力不仅提升了公司的竞争力,还为公司赢得了更多的社会认可和赞誉。

埃派克森微电子(Apexone)公司的发展小趣事

埃派克森微电子的创立可追溯到2002年,由高勇回国并带领一支团队创立。作为一家初创公司,埃派克森在创立初期就明确了以模拟系统级芯片为突破口的发展战略。通过不断的研发和创新,埃派克森成功开发了多款具有竞争力的芯片产品,逐渐在亚太与国际市场崭露头角。这一阶段,公司的创新精神和坚持不懈的努力为后来的发展奠定了坚实基础。

Freqtech Ohg公司的发展小趣事

随着业务的不断增长,Freqtech Ohg公司开始实施全球化战略。公司首先在欧洲建立了研发中心,随后在亚洲市场设立了生产基地和销售网络。通过整合全球资源,Freqtech不仅降低了生产成本,还更快速地响应了不同地区客户的需求。同时,公司积极参与国际展会和技术交流,不断提升品牌知名度和影响力,为公司的全球化发展奠定了坚实基础。

Defense Supply Center Columbus公司的发展小趣事

随着国防事业的不断发展,军事电子产品的市场需求也在不断增加。Defense Supply Center Columbus公司敏锐地捕捉到了这一市场机遇,积极拓展国内外市场。公司通过与国内外知名企业和机构建立合作关系,共同开发新产品、新技术,不断拓展市场份额。同时,公司还积极参加各类国际展览和论坛,展示公司的技术实力和产品优势,吸引了众多潜在客户的关注。这些市场拓展的努力,为公司的发展注入了新的动力。

Everett Charles Technologies (ECT)公司的发展小趣事

2001年,Everett Charles Technologies (Shenzhen) Limited(ECT深圳)正式成立,成为Dover集团在中国的全资子公司。ECT深圳的成立,不仅为ECT在中国市场的业务拓展提供了有力支持,也为公司进一步拓展亚洲市场奠定了基础。多年来,ECT深圳凭借卓越的产品质量和服务水平,赢得了众多客户的信赖和支持,成为ECT在亚洲地区的重要生产基地。

Astro Industries Inc公司的发展小趣事

面对日益激烈的市场竞争,Astro Industries Inc意识到成本控制的重要性。于是,公司开始着手进行供应链的整合与优化。通过与优质供应商建立长期合作关系,公司确保了原材料的稳定供应和质量可控。同时,公司还引入了先进的生产管理系统,提高了生产效率,降低了生产成本。这些措施使得Astro Industries Inc在保持产品质量的同时,也具备了更强的市场竞争力。

问答坊 | AI 解惑

单片机数模转换输出正弦波的问题?

怎样计算正弦波?把正弦波的采样坐标点放到一个数组里,然后如何实现正弦波的输出? 下面有一个公式望各位大侠给菜鸟指导一下,谢谢! y=sin(3.1415*2*i/256)*2048+2048(注:256为数组的大小) 请问2048是什么意思?为什么要乘上它?麻烦给菜鸟解 ...…

查看全部问答>

LCD1602显示不出想要的结果.....

//第一行 显示‘a’ 第二行显示“welcome” #include void initial_lcd(void);           //初始化 void write_code(unsigned char m);   //写代码 void write_char(unsigned char m);    ...…

查看全部问答>

s3c2410触摸屏和AD转化问题(急)

板子上其中两路已经用于触摸屏,我想用s3c2410有自带的其它6路AD转换来采集,要怎么做?请详细说明下,谢谢. 之前内核已经加载了触摸屏的驱动,所以在动态加载AD驱动时就话出错(因为这两个是占用同一个中断号),网上查询就说用轮询,请哪位大侠详细说明 ...…

查看全部问答>

keil使用中出现的问题ERROR L110

如下: linking... *** ERROR L110: CANNOT FIND SEGMENT     SEGMENT: ?CO?DEVDS18B20 Program Size: data=51.0 xdata=5555 code=827665 Target not created 已经将.h文件包含进link文件了,即使把.c文件和.h文件中的所有代码删除 ...…

查看全部问答>

VXWORKS下DMA使用方法

我从未使用过DMA,现在有个板子需要用到DMA传输数据,请问我该怎么做呢?看了很多资料,感觉无从下手,谢谢…

查看全部问答>

关于PDA电池电量的判断

我现在在做一个PDA的驱动,使用的是WinCE操作系统,要判断电池的剩余电量。 电池3600毫安,充满电是4.2V,PDA大概在3.5V时就不能正常工作了。 现在PDA本身可以检测到当前电压,有没有什么算法能从电压判断出电量的?希望大家指点。…

查看全部问答>

带有ROM的LM3S编程

不知道各位使用带有ROM LM3S系列单片机的坛友们有没有碰到这个问题,flash能下载,但是验证失败。折腾了一宿,终于将这个问题解决。 将过程写下来,让以后的同学们少走弯路。 在调新的LM3S9B95开发板的时候,经常碰到的一个问题是flash编程后验证 ...…

查看全部问答>

MSP430单片机“用户手册”和“数据手册”

我传了一份MSP430单片机用户手册和数据手册,与大家分享,希望我们都能把430学好。…

查看全部问答>

cpu代码的控制器部分查错

module control(clk,rst,empty,opcode,da,in_reg,rd,wr,fetch,alu_ena,ir_ena,da_ena,ld_da_x,ld_ir_ptr,load_ptr,                load_pc,inc_pc,inc_ptr,dec_ptr,datactl_ena,ld_a,ld_b,hal ...…

查看全部问答>