STM32F103C8T6制作USB键盘

这篇具有很好参考价值的文章主要介绍了STM32F103C8T6制作USB键盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、制作原因和实现的功能

        1、原因:电脑每次开机都需要输入登录密码,感觉很麻烦,就想着能不能用单片机做一个USB键盘,按一下自动给电脑发一串密码实现开机。后来又想,其实不用按键也行,用延时,延时到电脑开机再发送密码就好了,于是便有了这个制作。

        2、功能:将做好的USB插入电脑,电脑开机以后实现自动输入密码,完成登录。

USB键盘

二、需要准备的东西

        一个STM32f103c8t6最小系统板

        一个5V转3.3V模块,

        一个USB公头

        几根杜邦线,

三、过程中遇到的问题

        第一次使用USB,先是看原子哥的视频,进行学习,然后发现还是不会弄,对USB的通讯感觉很困惑,网上很多都再推荐《圈圈教你玩USB》这本书,不过我还没来的及去看,对想了解USB的人来说,我想应该是本不错的书。

       在CSDN上看了很多相关的文章后,对USB的描述符,和数据格式有了大致了解,开始尝试修改网上的一些代码,但是网络资源的质量参差不齐,即使是一些VIP资源,有的也是要么没有注释,看着难受,要么就是照搬别人的东西,乱七八糟的放着,而且最重要的还是内容错误百出。总之搞了很长时间,我还没有搞出来,时间大部分都浪费在了重复的、无用的低质量文章上了。但是这其中也有很多博主的文章很好,让我对USB的知识了解的更多了。

       对USB的描述符有了更清晰的认识以后,回头再去看ST官方例程和其他博主的代码,突然顿悟。在他们的基础上,潜心修改以后,烧录上电,成功实现功能。最主要的,我感觉还是USB的描述符,要明白他们代表的含义、层次之间的关系,例如,在配置描述符中,描述接口的数量,在接口描述符中再描述端口的数量,两个端口一个输出、一个输入。要了解什么是HID,它和USB之间是什么关系,HID描述符中的HID协议版本号,并不等于USB协议版本号,将这些配置成功,才能继续往下操作。

四、部分代码

单片机开发usb键盘,stm32,键盘

单片机开发usb键盘,stm32,键盘

单片机开发usb键盘,stm32,键盘

单片机开发usb键盘,stm32,键盘

五、5伏转3.3伏模块

单片机开发usb键盘,stm32,键盘

单片机开发usb键盘,stm32,键盘

六、总结

      全部代码和包含STM32F103C8T6最小系统板在内的电路图,我已经放在了文章最后的附录中,大家可以参考学习。此外,制作的这个东西,我没有加按键功能,大家需要的可以根据已有代码自行补充添加相关内容。程序中有注释,相信大家看了以后应该都能明白,不明白的也可以留言,一起交流。同时我也希望更多的开源作者能够在开源的同时,将代码注释写的再清楚一点,这样大家看着也更方便一些。关于USB全速模式需要在D+引脚接1.5K 的电阻,以及其他相关的USB基础内容,这里并没有详细介绍。第一次写博客,文章中有很多地方可能写的比较浅薄,不够好,欢迎大家指出。我也会不断学习,虚心接收大家的意见,争取做的更好,谢谢大家。

七、附录

     1、程序

           百度网盘链接:https://pan.baidu.com/s/1t34ubf8S_-bd9MilYFMC7w?pwd=67by 

           提取码:67by

     2、电路

          百度网盘链接:https://pan.baidu.com/s/1GIcad5HBB5prwExXiXe2AQ?pwd=21nf

          提取码:21nf文章来源地址https://www.toymoban.com/news/detail-815738.html

到了这里,关于STM32F103C8T6制作USB键盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32F103C8T6板子介绍

    STM32简介 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器 STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等 STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器。  STM32F103C8T6 F1XX片上资源

    2024年02月11日
    浏览(22)
  • STM32F103C8T6系统板

    1.电源部分 2.复位 3.晶振 4. 电源电路——防反接 有关二极管 漫谈二极管防电源反接电路 本次采用上图右下角的NMOS防反接电路。 电源电路——电源芯片 AMS1117是AMS公司的 ,LM1117是NS(美国国家半导体)的,LM1117要贵很多,所以一般的用AMS1117就可以了。 (以下分析参考STM32F10

    2024年02月02日
    浏览(28)
  • STM32F103C8T6串口通信

      首先来看一下需要操作的函数,以及配置的步骤: 图1                                                  图2   Code: usart.c #include \\\"usart.h\\\" void ustart_Init(void ) { GPIO_InitTypeDef GPIO_Init_Ustar ; // 定义输出端口TX的结构体对象 USART_InitTypeDef USTART_Init; // 定义串口初始化结构体对象

    2024年02月16日
    浏览(22)
  • 功耗测评 | STM32F103C8T6

    STM32F103C8T6 MCU越来越广泛的应用在生产生活的各个领域,外接丰富的传感器、功能模块、通信模块、显示存储等可以形成各种可样的产品项目应用。对于功耗要求比较高的产品,一般会选择STM32L系列的MCU,但是从功耗的评测角度,逻辑上是基本相似的。 在很多应用场合中都对

    2024年02月07日
    浏览(17)
  • stm32f103c8t6的外部中断

    在单片机中存在着中断系统,这个系统的逻辑和功能在51单片机中已经有所了解。 1.在32单片机中的内核有一个nvic 里面存放许多优先级的设定,外接许多中断源,比如“exti、tim、adc、usart等”接入之后,nvic再通过中断优先级进行排队,再内接入cpu中进行处理,这样子大大减少

    2024年02月09日
    浏览(19)
  • STM32F103C8T6移植FreeRTOS

    根据自己开发板型号下载地址:STM32相关内容下载地址 SDK直接下载地址:STM32直接下载地址 下载参考博客 FreeROTS下载地址 选用V9.0.0 版本 个人创建目录如下,可做参考 keil目录 链接头文件 • 修改堆栈大小 • 修改中断函数名 去掉stm32f10x_it.c终端函数 增加FreeRTOS中断 特别解释

    2024年02月12日
    浏览(25)
  • STM32F103C8T6 按键扫描输入

    第一章 STM32F103C8T6 点亮LED灯 系列文章目录 前言 一、原理  1.按键类型  2.按键消抖 3.IO口输入配置 1)模拟输出 2)浮空输入模式 3)下拉输入模式(PULL DOWN) 4)上拉输入模式(PULL UP) 二、代码部分 main.c key.c key.h 总结         上一章我们成功入门了STM32F103C8T6,今天我们来

    2023年04月23日
    浏览(32)
  • [STM32F103C8T6]ADC转换

    什么是ADC转换? ADC转换的全称是: Analog-to-Digital Converter ,指模拟 / 数字转换器 ADC的性能指标: ADC分辨率: SSA与VREF-一起接到地,DDA与VREF+接到3.3v,所以ADC转换的范围是0---3.3v 所以最后的ADC转换值应该是我们的测量值*分辨率    分辨率 = 3.3v/2^12 = (3.3/4096)   12位的转换器所

    2024年02月06日
    浏览(26)
  • STM32F103C8T6串口调试篇

    项目开发中,当出现bug时,由于不知道某个变量的值,所以很难定位问题,针对此问题,串口调试脱颖而出。通过串口printf()实时将需要显示的信息打印出来,这样就很方便的定位问题。 串口设置方法 1.购买调试器pwlink2。参考STM32F103C8T6程序烧录方法_stm32f103c8t6如何烧录_流

    2024年02月12日
    浏览(20)
  • STM32F103C8T6使用USB转TTL程序下载与BOOT0,BOOT1设置的误区

    1.STM32F103C8T6使用 USB转TTL下载 程序 方式 烧录前的准备工作操作: (1)BOOT0置3.3V,就是将跳帽接1 (2)BOOT1置GND,就是将跳帽接0 连接好线序开始烧录工作: 1:电源---此处省略一万字--- 2:TXD接PA10,RXD接PA9 3:使用烧录软件进行程序烧录(由于软件有很多就不谈细节了,我使用

    2024年02月14日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包